我有一个将 Microsoft.Speech 用于 TTS 的应用程序。如果流在完成之前得到 d/c'ed,我的 TTS 有问题。
public void SpeakTest()
{
PromptBuilder prompt = new PromptBuilder();
prompt.AppendText("This is a test prompt...");
_speechSynthersizer.Speak(prompt);
prompt.ClearContent();
}
这个 TTS 对象可以在说话完成之前被释放,这会导致 System.IO.EndOfStreamException 和 System.InvalidOperationException: Cannot change synthesizer's output while speak。例外。
我怎样才能取消说话,所以当我的对象被处理时,它会取消说话并正确处理对象?