日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Delphi多媒体设计之TMediaPlayer组件(二)

發布時間:2025/3/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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组件(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。