3

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

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

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

4

1 回答 1

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();

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

于 2016-01-28T08:15:38.127 回答