0

私は少し困惑しているので、誰かが助けてくれることを願っていました。テキストを読み上げるボタンを含むユーザーインターフェイスを実行するjavafxクラスがあります。これを押すと、FreeTTS Java 音声シンセを使用して文字列を読み上げる Java オブジェクトが呼び出され、すべて正常に動作します。

問題は、スピーチが読み上げられているとき、プログラムが完了するまで完全に停止することです。私はスレッド化されたアプリケーションの専門家ではありませんが、通常、Thread クラスを拡張し、オーバーライドされた run メソッド内で音声合成コードの実装を提供した場合、クラスで start を呼び出すと、それは "すべき" を作成することを理解しています。 new Thread に移動し、そこでこのコードを実行すると、JavaFX GUI がオンになっているメイン スレッドが通常どおり続行できるようになります。

なぜこれが当てはまらないのか、何か考えはありますか?よろしくお願いします!

4

1 に答える 1

0

Ack - 解決しました!run() ではなく、クラスの start() メソッドを呼び出してソートしました。今見ると一目瞭然!

于 2010-03-16T14:43:03.137 に答える