System.Speech.Synthesi.Syntheziserを停止するにはどうすればよいですか?一時停止と再開の方法は組み込まれていますが、エンジンを完全に停止する方法がわかりません。SpeakAsyncCancelメソッドを使用すると、stateプロパティは、シンセサイザーがまだ話していることを示していました。
スレッドを使用する必要がありますか、それとも理解できませんか?
System.Speech.Synthesi.Syntheziserを停止するにはどうすればよいですか?一時停止と再開の方法は組み込まれていますが、エンジンを完全に停止する方法がわかりません。SpeakAsyncCancelメソッドを使用すると、stateプロパティは、シンセサイザーがまだ話していることを示していました。
スレッドを使用する必要がありますか、それとも理解できませんか?
私は同じ問題を抱えていて、ゴーグルした後にそれを理解しました。シンセサイザーはマルチスレッドであるため、プログラム内でインスタンスを 1 つだけにする必要があるため、静的コンストラクターを使用してどこかに静的インスタンスを作成します。
を使用SpeakAsyncCancel
すると、次のようなプロンプト パラメータを渡す必要があります。
Synthesizer.SpeakAsyncCancel(new Prompt("cancelling now"));
SpeakAsyncCancelAll()
同様に使用して、最終的に破棄することもできます。
Synthesizer.SpeakAsyncCancelAll();
Synthesizer.Dispose();