1. 程式人生 > 其它 >c# winForm中播放聲音的三種方法

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");