WPF SoundPlayer多声道声音?

时间:2014-08-20 03:09:35

标签: wpf soundplayer

我有一个以随机间隔发出声音的应用。当两个声音碰撞时,它们不会很好地相互叠加,但是一个会中断另一个声音。

我使用SoundPlayer播放声音。 (这是一个WPF应用程序)

如何使用多个声道,以便如果两个声音同时出现,它们同时播放而不是一个中断另一个声音?

1 个答案:

答案 0 :(得分:3)

据我所知SoundPlayer使用原生的PlaySound功能,该功能不支持同时播放多个声音。

但您可以使用System.Windows.Media.MediaPlayer执行此操作。

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

System.Threading.Thread.Sleep(250);

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

睡眠只是为了给播放添加一点延迟,清楚地表明两个声音实际上同时播放。