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