如何停止语音合成器?
如何停止 System.Speech.Synthesi.Syntheziser?有内置的暂停和恢复方法,但我不知道如何完全停止引擎。当我使用 SpeakAsyncCancel 方法时,状态属性指示合成器仍在说话。
我必须使用线程还是我不明白?
How do I STOP the System.Speech.Synthesi.Syntheziser? There are build in methods for pausing and resuming,but I don't see how to totally stop the engine. when I use the SpeakAsyncCancel method the state property indicated that the Synthesizer is still speaking.
Do I have to use threads or do I not understand?.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我也遇到了同样的问题,经过一番研究后解决了。合成器是多线程的,因此它们只能是程序中的一个实例,因此使用静态构造函数在某处创建一个静态实例。
I had the same problem and figured it out after some goggling. The Synthesizer is multi-threaded, therefore they must only be ONE instance in the program, so make a static one somewhere with a static constructor.
使用
SpeakAsyncCancel
需要传递一个提示参数,例如:也可以使用
SpeakAsyncCancelAll()
,最后dispose:Using
SpeakAsyncCancel
you need to pass a prompt parameter, for example:You can use
SpeakAsyncCancelAll()
as well, and finally dispose: