RecognizerIntent を実装し、Google の音声認識サービスを呼び出しましたが、正常に動作し、結果が得られました。ただし、つぶやいたり、デバイスから離れすぎたりすると、「聞き取れませんでした。もう一度話してください」というメッセージが表示されることがあります。メッセージ。ユーザーが続行するために [OK] を押す必要がないように、これをバイパスしてこのメッセージを表示しない方法はありますか?
ありがとう
RecognizerIntent を実装し、Google の音声認識サービスを呼び出しましたが、正常に動作し、結果が得られました。ただし、つぶやいたり、デバイスから離れすぎたりすると、「聞き取れませんでした。もう一度話してください」というメッセージが表示されることがあります。メッセージ。ユーザーが続行するために [OK] を押す必要がないように、これをバイパスしてこのメッセージを表示しない方法はありますか?
ありがとう
UI を制御したい場合は、SpeechRecognizerを使用します。
私が正しく理解している場合、あなたは を起動してRecognizerIntent
おり、これは Google 検索アプリ (または Google 音声検索、または現在呼び出されているもの) のアクティビティの 1 つによって処理されます。これはアクティビティであるため、UI を引き継ぎます。つまり、ダイアログ ボックスをポップアップし、プロンプトと VU メーターを表示します。エラー状態の場合、原則として、送信してアプリに制御を返すことができます。たとえば(ドキュメントが示唆するように)エラーコードの1つですが、RESULT_NO_MATCH
そうしないことを選択します。代わりに、「再試行」メッセージが表示されます。アクティビティに戻る唯一の方法は、[戻る] を押すか、認識が成功することを期待することです。
ユーザー エクスペリエンスをさらに制御したい場合は、SpeechRecognizerを使用します。このようにして、サービスを呼び出してから、コールバックを介してサービスとやり取りします。UI を完全に制御できます。またはほとんど、たとえば Google アプリは認識の開始時にビープ音を鳴らし、それをオフにして独自のビープ音を提供する方法はありません。
この回答は、適切な Android の一部ではない Google の音声認識サービスに固有のものであることに注意してください。RecognizerIntent
/ APIの一部を実装していSpeechRecognizer
ますが、バージョンが異なると、API の適用範囲と正確な動作が異なります。したがって、この答えは将来的に間違ったものになる可能性があります。