1

TTS と音声認識を利用するコードのセクションが多数あります。ただし、連続して複数の tts または連続して複数の音声認識がある場合、クラッシュするか、それらを完全にスキップします。認識が完了するのを待たずにコードを続行する場合があり、後でクラッシュしたり変数が正しくない原因となります。アプリを一時停止して完了を待つにはどうすればよいですか? 待機、列挙子、サブルーチンを調べましたが、問題を解決しているようには見えません。どんな助けでも大歓迎です。

4

1 に答える 1

1

TTS を使用する場合は、TTS クラスで extends UtteranceProgressListener(API レベル 15 以上) を試してください。その抽象クラスの使用方法については、こちらのAndroid ドキュメントを参照してください。その抽象クラスにはpublic void onDone(String utteranceId){} 、スピーチが完了したときに呼び出されるメソッドが含まれています。音声認識の場合、 を使用した場合、音声認識が終了したときに呼び出されて結果を返すRecognitionListenerメソッドがあります。public void onResults (Bundle arg0)これで、TTS と音声認識がいつ完了するかがわかります。TTS onDone() または音声認識 onResult 内でコードを実行してみてください。これが役立つことを願っています。

于 2013-04-21T09:10:36.110 に答える