Delphi多媒体设计之TMediaPlayer组件(二)
生活随笔
收集整理的這篇文章主要介紹了
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屬性設置為True,使得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; |
注意,在播放每個文件前設置Wait屬性為True。Wait屬性在操作之后重新設置。因此,要想每當程序執行播放完成后,必須重新設置Wait屬性。
如果沒有設置Wait屬性為True,則第一個聲音開始播放并很快被稍晚一點點開始的第二個聲音取代。如果想在后臺播放聲音,可設置Wait屬性為False。
播放一部分Wave文件,可在播放前設置StartPos和EndPos屬性。下面的例子打開Wave文件,并播放2秒聲音。1秒開始,3秒結束。
?| 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音頻設備默認值。
Note
如果設置StartPos或者EndPos屬性為無效值,則Wave文件不播放。無效值包括StartPos或者EndPos屬性的值大于媒體長度。
?
?
以上代碼均在Delphi 7下測試通過,示例代碼下載:TMediaPlayer.rar
轉:http://www.cnblogs.com/pchmonster/archive/2012/07/13/2590977.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Delphi多媒体设计之TMediaPlayer组件(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDOJ---2546 饭卡[DP0
- 下一篇: 找回Kitkat的AppOps