3

音声認識アプリケーションにSpechRecognizerを使用しています。その正常に動作します。私の要件は、1 秒または 2 秒後に音声のリスニングを停止したいということです。それを達成する方法は?

4

1 に答える 1

9

1秒や2秒は大した時間ではないように思えますが、制限時間を設定したい場合は、おそらくそれをスレッド化する必要があります. Android には、音声入力の最小の長さとユーザーが話すのをやめた後の最大量を設定するためのデフォルトのエクストラがいくつかありますが、音声入力の最大時間を設定するものはありません。

あなたの最善の策は、CountDownTimerのようなある種のタイマーをスレッド化することです:

 yourSpeechListener.startListening(yourRecognizerIntent);
 new CountDownTimer(2000, 1000) {

     public void onTick(long millisUntilFinished) {
         //do nothing, just let it tick
     }

     public void onFinish() {
         yourSpeechListener.stopListening();
     }
  }.start();

また、 RecognizerIntentで使用できる追加機能を調べて、ニーズにより適したものがあるかどうかを確認することをお勧めします。

于 2012-06-19T19:28:53.637 に答える