我有一个应用程序,可以随机间隔发出声音。当两个声音碰撞时,它们不会很好地相互重叠,但一个声音会打断另一个声音。
我正在使用SoundPlayer播放声音。(这是WPF应用程序)
我如何使用多个声音频道,以便如果两个声音同时出现,它们将同时播放,而不是一个打断另一个?
据我所知 SoundPlayer 使用本机 PlaySound 不支持同时播放多个声音的功能。
SoundPlayer
但是,您可以使用 System.Windows.Media.MediaPlayer .
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();
睡眠只是为了给播放增加一点延迟,使这两种声音实际上同时播放。