.net 如何停止语音合成器?

.net 如何停止语音合成器?,.net,speech,.net-3.0,synthesizer,.net,Speech,.net 3.0,Synthesizer,如何停止System.Speech.Synthesis.Syntheziser?有内置的暂停和恢复方法,但我不知道如何完全停止引擎。当我使用SpeakAsyncCancel方法时,state属性指示合成器仍在讲话 我必须使用线程还是不理解 我也有同样的问题,看了几眼后就明白了。合成器是多线程的,因此它们只能是程序中的一个实例,所以使用静态构造函数在某处创建一个静态实例 使用SpeakAsyncCancel您需要传递一个提示参数,例如: Synthesizer.SpeakAsyncCancel(n

如何停止System.Speech.Synthesis.Syntheziser?有内置的暂停和恢复方法,但我不知道如何完全停止引擎。当我使用SpeakAsyncCancel方法时,state属性指示合成器仍在讲话


我必须使用线程还是不理解

我也有同样的问题,看了几眼后就明白了。合成器是多线程的,因此它们只能是程序中的一个实例,所以使用静态构造函数在某处创建一个静态实例

使用
SpeakAsyncCancel
您需要传递一个提示参数,例如:

Synthesizer.SpeakAsyncCancel(new Prompt("cancelling now"));
您还可以使用
SpeakAsyncCancelAll()
,最后处置:

Synthesizer.SpeakAsyncCancelAll();
Synthesizer.Dispose();

这是窗户吗?一个.NET Windows的东西?speech类是.NET framework的一部分。这很不清楚,SpeakAsyncCancel()方法需要一个提示参数。你没有记录你使用的东西。改为使用SpeakAsynchCancelAll()。