在Nexus 7平板电脑上的Android语音识别中的错误代码8

时间:2013-11-04 20:11:59

标签: android android-intent speech-recognition

我正在尝试构建一个Android应用程序,即使在压力测试中,它在三星galaxy S3上也能正常工作,比如反复按下麦克风图像按钮

但我在我的nexus7平板电脑上使用Error8在相同的压力测试麦克风上,如重复按下,之后该应用需要重新启动才能正常工作 对于正常使用,它在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();
        }

我将不胜感激任何帮助或线索

最好的问候

1 个答案:

答案 0 :(得分:1)

错误8是ERROR_RECOGNIZER_BUSY,当识别器有太多请求或其他一些奇怪的问题时,可能会发生错误。

这是一些应该有效的伪代码。我不太确定你的实现,但如果你做了一些重写:

onError(int e) {
  if(e == 8) {
    mRecognitionListener.cancel();
    mRecognitionListener.startListening();
  }
}