この投稿Android Speech Recognition as a service on Android 4.1 & 4.2 に示されているように、音声認識サービスを設定しました。オフライン認識を使用すると (電話を機内モードにすると)、onResults() に 1 つの結果しか表示されません。オンライン モードでは、常に 5 つ以上の結果が得られます。
私はこのインテントを使用します:
mSpeechRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,
this.getPackageName());
mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "fr-FR");
mSpeechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10);
私は英語に切り替えましたが、同じでした。Free form の代わりに Web 検索も試してみました。
それを機能させるための魔法のコードがあるかどうか、または複数の結果をオフライン認識と組み合わせることが単に不可能かどうかを知りたいです。
前もって感謝します