使用 SoundPlayer() 播放多个 wav 文件而不重叠声音
Playing multiple wav files with SoundPlayer() without the sounds overlapping
我正在尝试用 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()
从新线程开始,如果没有,我怎样才能达到预期的结果?
P.S。我是 C# 的新手,这是我第一次发布 C# 相关问题,因此欢迎对我的 code/question(尤其是我标记此问题的方式)的任何反馈。
如果你有能力停止你的主线程,你可以使用
SoundPlayer.PlaySync()
在调用线程上加载和播放 .wave 文件。
我正在尝试用 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()
从新线程开始,如果没有,我怎样才能达到预期的结果?
P.S。我是 C# 的新手,这是我第一次发布 C# 相关问题,因此欢迎对我的 code/question(尤其是我标记此问题的方式)的任何反馈。
如果你有能力停止你的主线程,你可以使用
SoundPlayer.PlaySync()
在调用线程上加载和播放 .wave 文件。