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