2012-02-18 4 views
1

Как остановить систему.Speech.Synthesi.Syntheziser? Существуют методы для приостановки и возобновления, но я не вижу, как полностью остановить двигатель. когда я использую метод SpeakAsyncCancel, свойство state указывает, что Synthesizer все еще говорит.Как остановить речевой синтезатор?

Должен ли я использовать потоки или я не понимаю ?.

+0

Это вещь для Windows? Что такое Windows Windows? –

+0

класс речи является частью структуры .net. –

+0

Это довольно непонятно, для метода SpeakAsyncCancel() требуется аргумент Prompt. Вы не документировали то, что использовали. Вместо этого используйте SpeakAsynchCancelAll(). –

ответ

0

У меня была такая же проблема, и я понял это после некоторых очков. Синтезатор многопоточен, поэтому в программе должен быть только один экземпляр, поэтому статичный где-нибудь со статическим конструктором.

0

Использование SpeakAsyncCancel вам необходимо пройти незамедлительное параметр, например:

Synthesizer.SpeakAsyncCancel(new Prompt("cancelling now")); 

Вы можете использовать SpeakAsyncCancelAll(), а также, и, наконец, избавиться:

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

 Смежные вопросы

  • Нет связанных вопросов^_^