c# winForm中播放聲音的三種方法
聲音檔案xxx.wav放置在bin目錄下debug下
一,使用SoundPlay來實現
1,新增引用using System.Media;
2,例項化 SoundPlayer play = new SoundPlayer();
3,載入 .wav格式音訊檔案的路徑或URL play.SoundLocation = Application.StartupPath + "//xxx.wav";
其中二三兩步可以並在一起寫,SoundPlayer play = new SoundPlayer("xxx.wav");因為呼叫Play方法時,會自動載入該檔案。
4,使用Load方法來同步載入聲音,play.Load();
5,播放音訊。使用Play()來進行播放,這方法是非同步方法,會在另一個執行緒中播放。如果有時候需要等播放完成後才能允許進行其他操作,那麼可以使用PlaySync()來進行播放。如果想迴圈播放,則採用PlayLooping()來實現。使用這三個方法都是如果尚未載入.wav檔案,則會先載入該檔案。
6,停止播放。使用Stop():若當前正在播放,則停止播放。
7,釋放資源。利用Dispose即可釋放資源。play.Dispose();
二,通過API呼叫 using System.Runtime.InteropServices
[DllImport("winmm.dll")]
public static extern bool PlaySound(string pszSound, int hmod, int fdwSound);
public const int SND_FILENAME = 0x00020000; public const int SND_ASYNC = 0x0001;
//呼叫下面的方法
PlaySound("xxx.wav", 0, SND_ASYNC | SND_FILENAME);
三,使用 Audio 物件
using Microsoft.VisualBasic.Devices;//Microsoft.VisualBasic.dll
需要新增引用
Audio a = new Audio();
a.Play("xxx.wav");