web-dev-qa-db-ja.com

DICTATION_MODEでAndroid.speech.SpeechRecognizerを使用する場合の遅延

Android.speech.SpeechRecognizerDICTATION_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);
58
acimutal

問題はインターネットの速度が原因である可能性があります。

EXTRA_PREFER_OFFLINEをtrueに設定して、遅延が減少するかどうかを確認してください

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

1
Grountex