如何停止 System.Speech.Synthesi.Syntheziser?有用于暂停和恢复的内置方法,但我不知道如何完全停止引擎。当我使用 SpeakAsyncCancel 方法时,状态属性表明合成器仍在说话。
我必须使用线程还是我不明白?
如何停止 System.Speech.Synthesi.Syntheziser?有用于暂停和恢复的内置方法,但我不知道如何完全停止引擎。当我使用 SpeakAsyncCancel 方法时,状态属性表明合成器仍在说话。
我必须使用线程还是我不明白?
Using SpeakAsyncCancel
you need to pass a prompt parameter, for example:
Synthesizer.SpeakAsyncCancel(new Prompt("cancelling now"));
You can use SpeakAsyncCancelAll()
as well, and finally dispose:
Synthesizer.SpeakAsyncCancelAll();
Synthesizer.Dispose();
我遇到了同样的问题,经过一番凝视后弄清楚了。Synthesizer 是多线程的,因此它们只能是程序中的一个实例,因此请使用静态构造函数在某处创建一个静态实例。