日期:2014-05-17  浏览次数:21069 次

SoundPlayer不能同时播放两个声音,以前有人问过的
用两个SoundPlayer的实例,
sp1
sp2
sp1.PlayLooping(1.wav);
sp2.PlayLooping(2.wap);
两个播放运输在两个按钮事件中,但是只要一播放其中一个,另一个必然停止,在MSDN上也没有看到相应的说明,我的目标是两个同时播放。

------解决方案--------------------
那是因为SoundPlayer默认只有一个实例。所以你声明2个实例,它真正执行的实例只有一个。
------解决方案--------------------
使用wpf下的mediaPlayer
添加:
PresentationCore
WindowsBase
的引用

var p1 = new System.Windows.Media.MediaPlayer();
p1.Open(new System.Uri(@"C:\windows\media\tada.wav"));
p1.Play();

var p2 = new System.Windows.Media.MediaPlayer();
p2.Open(new System.Uri(@"C:\windows\media\tada.wav"));
p2.Play();

------解决方案--------------------
用DiretX可以同时播放两个。