同时播放2个声音

设计任何笔记本电脑的游戏:

我想同时播放2个声音! 按下按钮时会出现背景音乐和声音!

使用System.Media不允许我一起播放2个声音。 对于背景音乐,我使用了以下内容:

SoundPlayer sp = new SoundPlayer(@"....bindebugtribal dance.wav");
sp.Play;

如果我播放另一个SoundPlayer ,则前一个停止!

我想要背景音乐继续播放,直到表单关闭! 同时,如果点击一个按钮,音乐将播放另一个声音!

我也尝试将Windows Media Player添加到工具箱并使用它(允许我同时播放2个声音)。 这工作正常,但路径会给出一个错误,如果我把它(@""....bindebugtribal dance.wav");我需要这样说,以便通过任何电脑。

有什么建议么?


使用SoundPlayer无法一次播放两种声音。

SoundPlayer使用本机WINAPI PlaySound功能来完成不支持播放同步声音的任务。 创建SoundPlayer的多个实例将无济于事。

有很多选项,其中大部分涉及到实现窗口的本地音频库或DirectSound的很多低级API(注意,C#也不需要注意,并且需要很多互操作代码)

最简单的选择是依靠Windows媒体播放器为您播放音频。

添加对“C: Windows System32 wmp.dll”的引用

然后使用

var player = new WMPLib.WindowsMediaPlayer();
player.URL = @"....bindebugtribal dance.wav";

注意:设置URL属性后立即开始播放

这种方法的缺点是您需要依赖媒体播放器才能使您的应用程序正常工作。 有利的是,您可以使用任何文件格式的媒体播放器支持。


http://msdn.microsoft.com/en-us/library/dd562851%28v=VS.85%29.aspx这篇文章可能会帮助如果你需要文件的绝对路径,你可以使用下一个代码

string soundFile = Path.Combine(Directory.GetCurrentDirectory() + "file.wav");
链接地址: http://www.djcxy.com/p/4425.html

上一篇: Playing 2 sounds together at same time

下一篇: SQL Server Management Studio Plugin for Diagrams