我正在使用android.speech.SpeechRecognizer
在DICTATION_MODE
中识别长时间的命令。在此模式下,回调方法onPartialResults
的调用比正常模式下延迟更多。有人知道为什么会发生这种情况以及如何避免这种延迟吗?
这是我用于SpeechRecognizer
的配置:
Intent recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
recognizerIntent.putExtra("calling_package", mainActivity.getApplicationContext().getPackageName());
recognizerIntent.putExtra("android.speech.extra.DICTATION_MODE", true);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 100);
EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS
<-- 尤其是这个EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS
EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS
由于 Android 版本和设备型号不同,可能会出现问题。 此外,请查看以下内容: https://code.google.com/p/android/issues/detail?id=76130 我本想将其发布为答案,但决定把它放在评论中更好一些。 - scana