Delphi多媒体设计之TMediaPlayer组件(二)
Wave音頻(Wave Audio)
播放Wave音頻是最基本的多媒體操作之一,它可能是最普通的,同步播放Wave文件代碼如下:
?| 1 2 3 4 5 6 7 | procedure TForm1.btn1Click(Sender: TObject); begin ??mpPlayer.Wait := True; { 同步播放} ??mpPlayer.FileName := 'test.wav'; ??mpPlayer.Open; ??mpPlayer.Play; end; |
注意Wait屬性設(shè)置為T(mén)rue,使得Wave文件同步播放。
如果想緊接(back-to-back)著播放下一Wave文件,Wait屬性也是很必要的。例如下面的代碼:
?| 1 2 3 4 5 6 7 8 9 10 11 | procedure TForm1.btn2Click(Sender: TObject); begin ??mpPlayer.FileName := 'Sound1.wav'; ??mpPlayer.Open; ??mpPlayer.Wait := True; ??mpPlayer.Play; ??mpPlayer.FileName := 'Sound2.wav'; ??mpPlayer.Wait := True; ??mpPlayer.Open; ??mpPlayer.Play; end; |
注意,在播放每個(gè)文件前設(shè)置Wait屬性為T(mén)rue。Wait屬性在操作之后重新設(shè)置。因此,要想每當(dāng)程序執(zhí)行播放完成后,必須重新設(shè)置Wait屬性。
如果沒(méi)有設(shè)置Wait屬性為T(mén)rue,則第一個(gè)聲音開(kāi)始播放并很快被稍晚一點(diǎn)點(diǎn)開(kāi)始的第二個(gè)聲音取代。如果想在后臺(tái)播放聲音,可設(shè)置Wait屬性為False。
播放一部分Wave文件,可在播放前設(shè)置StartPos和EndPos屬性。下面的例子打開(kāi)Wave文件,并播放2秒聲音。1秒開(kāi)始,3秒結(jié)束。
?| 1 2 3 4 5 6 7 8 | procedure TForm1.btn3Click(Sender: TObject); begin ??mpPlayer.FileName := 'test.wav'; ??mpPlayer.Open; ??mpPlayer.StartPos := 1000; { 單位 毫秒} ??mpPlayer.EndPos := 3000; ??mpPlayer.Play; end; |
StartPos和EndPos屬性都是以毫秒為單位,這是Wave音頻設(shè)備默認(rèn)值。
Note
如果設(shè)置StartPos或者EndPos屬性為無(wú)效值,則Wave文件不播放。無(wú)效值包括StartPos或者EndPos屬性的值大于媒體長(zhǎng)度。
?
?
以上代碼均在Delphi 7下測(cè)試通過(guò),示例代碼下載:TMediaPlayer.rar
轉(zhuǎn):http://www.cnblogs.com/pchmonster/archive/2012/07/13/2590977.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Delphi多媒体设计之TMediaPlayer组件(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HDOJ---2546 饭卡[DP0
- 下一篇: 如何实现:判断数据库中某表是否有记录,若