c#使用SoundPlayer播放wav格式音频

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c#使⽤SoundPlayer播放wav格式⾳频
c#使⽤SoundPlayer播放wav格式⾳频
使⽤
System.Media名称空间下的类SoundPlayer可以让我们很⽅便的播放wav波形声⾳⽂件。

SoundPlayer类其实就是对winmm.dll⽂件中API函数的封装。

SoundPlayer类的使⽤很简单。

如下:
SoundPlayer player = new SoundPlayer();
player.SoundLocation = "⾳乐⽂件名";
player.Load();
player.Play();
其中Play⽅法是异步⽅法,会在另⼀个线程中播放。

如果我们有时候需要等声⾳播放完毕之后再进⾏下⼀步操作。

即声⾳播放需要阻塞当前线程。

就可以使⽤PlaySync()
⽅法
SoundPlayer类的缺点:只能播放wav⽂件;在winxp下播放⽂件⽐较⼤或位率⽐较⾼的情况,PlaySync同步播放会有播放不完全的问题。

这个问题的产⽣是由于winmm.dll的版本问题引起的。

在xp下winmm.dll的版本是5。

在win7下是6。

win7下就没有问题。

如果要解决在
xp下播放不完全的问题。

可以使⽤xp下的录⾳机打开声⾳⽂件,把声⾳⽂件另存为7kbit/s的位率格式,但这样声⾳效果就很差了。

实现
引⽤System.Media名称空间下的类SoundPlayer
SoundPlayer player = new SoundPlayer();
⽅法调⽤Play();
public void Play()
{
**player.SoundLocation** = @".x0pbk-swz4q.wav";
//读取⾳频⽂件
**player.Load();
**//同步模式
**player.Play();
**
if (MessageBox.Show("播放⾳樂中,通过旋转⽿机上的旋钮测试⾳量,若聲⾳播放正常则选是,反之否", "提⽰", MessageBoxButtons.YesNo, rmation) == DialogResult.No) {
DisplaylistboxMSG("Headset測試結果為異常");
} else
{
DisplaylistboxMSG("Headset測試結果為正常");
}
player.Stop();
//停⽌播放
player.Dispose();
}。

相关文档
最新文档