取消“与微软语音通话”



我有一个使用微软的应用程序。TTS演讲。我的TTS有问题,如果流在完成之前被d/c'ed。

public void SpeakTest()
{
  PromptBuilder prompt = new PromptBuilder();
  prompt.AppendText("This is a test prompt...");
  _speechSynthersizer.Speak(prompt);
  prompt.ClearContent();
}

这个TTS对象可以在会话结束之前被处理,这会导致System. io . endofstreamexception和System. io . endfstreamexception。在说话时不能改变合成器的输出。例外。

如何取消发言,这样当我的对象被处置时,它将取消发言并正确处置对象??

我建议使用异步版本的Speak方法,即SpeakAsync并尝试取消异步说话操作,在处置TTS对象之前,通过使用以下方法之一: speakasynccancelel SpeakAsyncCancelAll。下面是一个示例:

您也可以将此粘贴在Try/Catch块中,并在catch中运行SpeakAyncCancelAll

相关内容

  • 没有找到相关文章

最新更新