如何停止System.Speech.Synthesi.Syntheziser?有暂停和恢复的内置方法,但我不知道如何完全停止引擎。当我使用SpeakAsyncCancel方法时,state属性表明合成器仍然在说话。
我必须使用线程还是我不理解?
答案 0 :(得分:0)
我遇到了同样的问题,并在一些护目镜后想出来了。 Synthesizer是多线程的,因此它们只能是程序中的一个实例,所以使用静态构造函数在某处创建一个静态实例。
答案 1 :(得分:0)
使用SpeakAsyncCancel
您需要传递一个提示参数,例如:
Synthesizer.SpeakAsyncCancel(new Prompt("cancelling now"));
您也可以使用SpeakAsyncCancelAll()
,最后处置:
Synthesizer.SpeakAsyncCancelAll();
Synthesizer.Dispose();