C# 使用SoundPlayer()播放多个wav文件时声音不会重叠
我正在尝试使用C# 使用SoundPlayer()播放多个wav文件时声音不会重叠,c#,.net,multithreading,media,wav,C#,.net,Multithreading,Media,Wav,我正在尝试使用SoundPlayer()播放.wav文件,然后使用SpeechSynthesizer()说出一个句子 问题是,SoundPlayer()在新线程上播放,因此我的程序在播放.wav文件时会说话。我需要它在.wav文件完成后开始讲话 我的示例代码: SoundPlayer sound = new SoundPlayer("drum_roll.wav"); sound.Play(); SpeechSynthesizer synth = new SpeechSynthesizer();
SoundPlayer()
播放.wav文件,然后使用SpeechSynthesizer()
说出一个句子
问题是,SoundPlayer()
在新线程上播放,因此我的程序在播放.wav文件时会说话。我需要它在.wav文件完成后开始讲话
我的示例代码:
SoundPlayer sound = new SoundPlayer("drum_roll.wav");
sound.Play();
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.Volume = 100;
synth.Speak("Hello World");
有没有办法阻止SoundPlayer()
从一个新线程开始,如果没有,我如何才能达到预期的结果
另外,我对C比较陌生,这是我第一次发布与C相关的问题,因此对我的代码/问题(特别是我标记此问题的方式)的任何反馈都非常感谢。如果你能停止你的主线程,你可以使用
SoundPlayer.PlaySync()
在调用线程上加载并播放.wave文件
太简单了。那正是我想要的谢谢。