我有一个应用程序,它发出的声音是随机间隔的。当两种声音碰撞时,它们不会很好地夸大对方,但其中一种会打断另一种声音。
我用SoundPlayer来播放声音。(这是一个WPF应用程序)
我如何使用多个声音频道,以便如果两个声音同时发生,它们都是在同一时间播放,而不是一个中断另一个?
发布于 2016-01-28 08:15:38
据我所知,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();睡眠只是为了给播放增加一点延迟,清楚地表明这两个声音实际上是同时播放的。
https://stackoverflow.com/questions/25396144
复制相似问题