我在DICTATION_MODE中使用android.speech.SpeechRecognizer在很长一段时间内识别命令。在这种模式下,对回调方法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);发布于 2018-12-17 02:32:06
这个问题可能是由于网速的原因。
尝试将EXTRA_PREFER_OFFLINE设置为true,并检查延迟是否会减少
https://developer.android.com/reference/android/speech/RecognizerIntent.html#EXTRA_PREFER_OFFLINE
发布于 2018-03-08 19:38:46
响应时间取决于许多因素,例如:
通常情况下,它会更长,因为这种模式意味着猜测上下文,并试图找出随着每个新词而变化的含义。
https://stackoverflow.com/questions/34206493
复制相似问题