張旭 Delphi是美國Borland公司推出的一個(gè)十分優(yōu)秀的軟件 開發(fā)平臺。它以其強(qiáng)大的開發(fā)功能在眾多的開發(fā)環(huán)境中獨(dú) 占鰲頭,尤其是它在多媒體軟件的開發(fā)上更是技高一籌。 在Delphi的組件板system頁上有一個(gè)稱為MediaPlayer的 組件,它是多媒體軟件制作的核心,以下將就MediaPlayer 組件的使用作以詳解。
MediaPlayer組件主要是用于控制MCI(MediaContr olInterface)設(shè)備,該組件提供了一系列按鈕用于控制 諸如CD-ROM、MIDI、VCR等多媒體設(shè)備,這些多媒體設(shè)備 可以是硬件也可以是軟件。這些按鈕在缺省情況下從左到 右依次為:Play(播放)、Pause(暫停)、Stop(停止) 、Next(下一個(gè)曲目)、Prev(前一個(gè)曲目)、Step(步 進(jìn))、Back(后退)、Record(錄音)、Eject(彈出媒 體)等9個(gè)功能按鈕。在用戶自己開發(fā)的程序中,多媒體設(shè) 備可以有兩種方法實(shí)現(xiàn)以上9個(gè)功能,一種方法是將Media Player組件放在窗體上,在程序運(yùn)行時(shí)單擊相應(yīng)按鈕;另 一種方法是用與按鈕相應(yīng)的“方法”(Method)來實(shí)現(xiàn)這 些功能。按鈕與對應(yīng)的“方法”見下表:
以上9個(gè)按鈕在視圖和功能上均允許進(jìn)行選擇,使用 者可以通過改變objectinspector(對象監(jiān)視器)的屬性頁 中的+VisibleButtons和+EnabledButtons屬性來實(shí)現(xiàn), 使用者只需要雙擊此屬性使其上的“+”變成“-”,然 后在下面新出現(xiàn)子屬性表中將相應(yīng)的子屬性的值賦給true /false即可。
MediaPlayer組件有許多的屬性(property)和方法 (method)。屬性是程序設(shè)計(jì)時(shí)在objectinspector(對象 監(jiān)視器)中進(jìn)行設(shè)置的,它無需開發(fā)程序的人自行編碼( 當(dāng)然也可以在代碼中進(jìn)行屬性設(shè)置);而方法是程序開發(fā) 者在程序代碼中必須用到的過程和函數(shù)等。在正常情況下 ,Delphi會將常用的屬性設(shè)置為缺省值,這些值對于一般 的開發(fā)來說已經(jīng)足夠了,但是有一些關(guān)鍵的屬性值卻是必 須由使用者自己給定的。其中最重要的幾個(gè)屬性及其使用 說明見下表:
MediaPlayer組件方法除了前面提到的對應(yīng)9個(gè)按鈕的 方法外,Delphi還提供了MediaPlayer組件的一些很重要 的方法,如open、save、rewind、resume、pauseOnly及cl ose等,它們的使用詳情如下:
1.open方法:
open方法用于打開一個(gè)多媒體設(shè)備。在調(diào)用該方法之 前,必須確保在MediaPlayer組件的DeviceType(設(shè)備類 型)屬性中設(shè)定正確的多媒體設(shè)備類型。
【示例】以下代碼用于在程序開始運(yùn)行時(shí)就播放CD音 樂。
procedureTForm1.FormCreat(Sender:Tobject) ;
begin
withMediaPlayer1do
begin
DeviceType:ΚdtCDAudio;
Visible:ΚFalse;
open;
play;
end;
end;
2.Save方法:
Save方法用于將當(dāng)前裝入的媒體內(nèi)容保存到由FileNa me屬性指定的文件中。對于不能用媒體存取的設(shè)備(如Vi deodiscs),Save方法被忽略。
3.Rewind方法:
Rewind方法用于設(shè)定當(dāng)前位置到媒體的開始處,也就 是用Start屬性保存的值的位置。
【示例】以下代碼用到一個(gè)MediaPlayer組件和一個(gè)B utton組件。當(dāng)單擊Button按鈕時(shí),WavAudio媒體返回開 始處并進(jìn)行播放。
procedureTForm1.FormClick(Sender:Tobject) ;
begin
MediaPlayer1.DeviceType:ΚdtWavAudio;
MediaPlayer1.fileName:Κ′c:ιwindowsιch imes.wav′;
Button1.Caption:Κ′返回并開始播放′;
Button1.width:Κ125;
end;
procedureTForm1.Button1Click(Sender:Tobje ct);
begin
MediaPlayer1.Rewind;
MediaPlayer1.play;
end;
4.Resume方法:
Resume方法用于重新開始播放或錄制當(dāng)前被暫停的多 媒體設(shè)備。
5.Close方法:
Close方法用于關(guān)閉當(dāng)前已打開的多媒體設(shè)備。
6.PauseOnly方法:
PauseOnly方法僅僅用于暫停多媒體設(shè)備,如果該設(shè) 備已經(jīng)暫停,則當(dāng)PauseOnly方法被調(diào)用時(shí),設(shè)備仍舊保持 暫停狀態(tài)。
以上就是MediaPlayer組件最常用的屬性和方法。如 果您喜歡的話,在您的應(yīng)用程序中就可以使用這些屬性和 方法實(shí)現(xiàn)多媒體的音頻和視頻效果。
|