我希望能够在音乐播放时按下按钮播放按下按钮的声音。 SoundPlayer没有任何帮助,因为它会阻止音乐播放声音。 我已将声音添加到我的资源(WindowsFormsApplication2.Resources.Properties.button),我不想输入文件位置。
答案 0 :(得分:1)
使用SoundPlayer无法一次播放两种声音。
SoundPlayer使用原生的WINAPI PlaySound功能来完成不支持播放同步声音的任务。创建SoundPlayer的多个实例无济于事。
有很多选项,其中大部分涉及为窗口的原生音频库或DirectSound实现大量低级API(注意既不是C#也需要很多互操作代码)
最简单的选择是依靠Windows媒体播放器为您播放音频。
添加对“C:\ Windows \ System32 \ wmp.dll”
的引用然后使用
var player = new WMPLib.WindowsMediaPlayer(); player.URL = @"..\..\bin\debug\tribal dance.wav";
注意:设置URL属性后立即开始播放
这种方法的缺点是您依赖媒体播放器来使您的应用程序正常工作。从好的方面来说,您可以使用媒体播放器支持的任何文件格式。