Google音声検索には、startActivityForResult()を介して呼び出した瞬間から、ダイアログボックスが表示されてスピーチの準備ができるまで、かなりの遅延があります。
これには、ユーザーが話す前に、ダイアログボックスが表示されるのを待って、常に画面を見る必要があります。
音声検索で音声入力を受け入れる準備ができたら、「音」やその他の非視覚的な合図を追加すると便利です。
これは可能ですか?
もしそうなら、どうやってそれをやるのですか?
Google音声検索には、startActivityForResult()を介して呼び出した瞬間から、ダイアログボックスが表示されてスピーチの準備ができるまで、かなりの遅延があります。
これには、ユーザーが話す前に、ダイアログボックスが表示されるのを待って、常に画面を見る必要があります。
音声検索で音声入力を受け入れる準備ができたら、「音」やその他の非視覚的な合図を追加すると便利です。
これは可能ですか?
もしそうなら、どうやってそれをやるのですか?
これはプログラムを複雑にしますが、本当にその信号が必要な場合は、インテントを呼び出したり、独自のアクティビティを作成したりするのではなく、オブジェクトによる音声認識の実装を検討してください。
(警告:これの多くは、呼び出しの順序を含む推測です)
おそらく、実際にリッスンする前にリソースをインスタンス化するのが遅れているのでしょう。私の理論があなたよりも正しい場合setRecognitionListener(RecognitionListener listener)
(レイテンシーパス)、(おそらくさらにいくつかのレイテンシーパス)を作成しrecognizerIntent object
、最後に(オーバーライドされた)startListening(Intent recognizerIntent)
で「PING!」を呼び出します。スーパーメソッドを呼び出す前に。
このすべての機能を新しいアクティビティでラップするか(おそらく推奨されます)、UIへのレイテンシーに取り組むかはあなた次第です。