【发布时间】:2013-11-20 10:26:21
【问题描述】:
我希望能够在音乐播放时按下按钮来播放按下按钮的声音。 SoundPlayer 没有帮助,因为它会停止播放声音的音乐。 我已将声音添加到我的资源 (WindowsFormsApplication2.Resources.Properties.button) 中,我不想输入文件位置。
【问题讨论】:
我希望能够在音乐播放时按下按钮来播放按下按钮的声音。 SoundPlayer 没有帮助,因为它会停止播放声音的音乐。 我已将声音添加到我的资源 (WindowsFormsApplication2.Resources.Properties.button) 中,我不想输入文件位置。
【问题讨论】:
MerickOWA的回答
您不能使用 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 属性后立即开始播放
这种方法的缺点是您需要依赖媒体播放器才能让您的应用程序正常工作。从好的方面来说,您可以使用媒体播放器支持的任何文件格式。
【讨论】: