我有一个应用程序发出声音在一个随机间隔。当两种声音碰撞时,它们不会很好地夸大对方,而是一个声音打断另一个声音。
我正在使用SoundPlayer播放声音。(这是一个WPF应用程序)
我如何使用多个声音通道,以便如果两个声音同时发生,它们同时播放,而不是一个打断另一个?
据我所知,SoundPlayer
使用原生PlaySound功能,不支持同时播放多个声音。
您可以对System.Windows.Media.MediaPlayer
执行此操作。
var p1 = new MediaPlayer();
p1.Open(new Uri(@"C:windowsmediaringout.wav"));
p1.Play();
System.Threading.Thread.Sleep(250);
var p2 = new MediaPlayer();
p2.Open(new System.Uri(@"C:windowsmediaringout.wav"));
p2.Play();
睡眠只是为了给播放添加一点延迟,使两种声音实际上是同时播放的。