序章
Androidには、音声認識を使用する2つの方法があります。
最初の方法はIntent
、この質問のように、インテントの例です。新しいActivity
ものがスタックの一番上にプッシュされ、ユーザーの話を聞き、スピーチを聞き、それを(通常はクラウド経由で)転記しようとし、onActivityResult
呼び出しを介して結果をアプリに返します。
2つ目は、次SpeechRecognizer
のコードのように、を取得することです:SpeechRecognizerの例。ここでは、スピーチが他のスレッドで録音および転記されているように見えます。その後、コールバックによって結果が表示されます。そして、これは私のを離れることなくActivity
行われます。
音声認識を行うこれらの2つの方法の長所と短所を理解したいと思います。
私がこれまでに持っているもの
を使用してIntent
:
- コーディングは簡単です
- 車輪の再発明を回避します
- デバイス全体で一貫した音声認識のユーザーエクスペリエンスを提供します
しかし
- 独自のウィンドウで新しいアクティビティを作成するには時間がかかる場合があります
を使用してSpeechRecognizer
:
- アプリでUIの制御を維持できます
- 応答するものの追加の可能性を私に与えます(ドキュメント)
しかし
- メインスレッドからの呼び出しに制限されています
- より多くの制御には、より多くのエラーチェックが必要です。