我正在尝试构建一个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();
}
我将不胜感激任何帮助或线索
最好的问候
答案 0 :(得分:1)
错误8是ERROR_RECOGNIZER_BUSY,当识别器有太多请求或其他一些奇怪的问题时,可能会发生错误。
这是一些应该有效的伪代码。我不太确定你的实现,但如果你做了一些重写:
onError(int e) {
if(e == 8) {
mRecognitionListener.cancel();
mRecognitionListener.startListening();
}
}