0

Androidアプリを構築しようとしていますが、マイクの画像ボタンを繰り返し押すなど、ストレステストでもSamsung Galaxy S3で正常に動作しています

しかし、nexus7 タブレットで、繰り返し押すような同じストレス テスト マイクでエラー 8 が発生しています。その後、正常に動作するためにアプリを再起動する必要があります。通常の使用では、nexus7 でも正常に動作しています。

以下のコードは認識クラスです。

public class MyRecognitionListener implements RecognitionListener 

これが私が音声認識と呼ぶ方法です。

Intent recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getPackageName());
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, langParam);
        //recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
        recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,10);

        try {
            recognizer.startListening(recognizerIntent);
        } catch (Exception e) {

            recognizer.stopListening();
            e.printStackTrace();
        }

助けや手がかりをいただければ幸いです

よろしくお願いします

4

1 に答える 1

1

エラー 8 は ERROR_RECOGNIZER_BUSY で、レコグナイザーの要求が多すぎるか、その他の奇妙な問題が発生した場合に発生する可能性があります。

動作するはずの疑似コードを次に示します。あなたの実装についてはよくわかりませんが、オーバーライドを行う場合:

onError(int e) {
  if(e == 8) {
    mRecognitionListener.cancel();
    mRecognitionListener.startListening();
  }
}
于 2014-04-28T03:09:16.760 に答える