我在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_PREFER_OFFLINE设置为true并检查延迟是否会减少

https://developer.android.com/reference/android/speech/RecognizerIntent.html#EXTRA_PREFER_OFFLINE

关于android - 在DICTATION_MODE中使用android.speech.SpeechRecognizer时延迟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34206493/

10-10 08:44