さまざまな理由から、の代わりにraw SpeechRecognizer
APIを使用する必要があります。RecognizerIntent
(RECOGNIZE_SPEECH)activityRecognitionListener.onError()は自動的にSpeechRecognizer.cancel()を行いますか?
これは、とりわけ、自分自身RecognitionListener.onError()
を処理する必要があることを意味します。
いくつかのエラーに対応して、私は単にリスニングを再開したいと考えています。これは簡単に見えますが、私はちょうど、エラー時にSpeechRecognizer.startListening()
を呼び出すときに、これは時々二つの異なるエラートリガするようだ:
ERROR/ServerConnectorImpl(619): Previous session not destroyed
と私はSpeechRecognizer.startListening()
を呼び出そうとする前に、いくつかのクリーンアップを行っている必要があることをほのめかす
"concurrent startListening received - ignoring this call"
を再び。
これがtrueの場合、RecognitionListenerエラー時に自動的にリスンが停止またはキャンセルされないことを意味します。
リスニングを停止/キャンセルする場合や、リスニングを中止する場合があります。
- ERROR_NETWORK_TIMEOUT
- ERROR_NETWORK
- ERROR_AUDIO
- ERROR_SERVER
- ERROR_CLIENT
- ERROR_SPEECH_TIMEOUT
- ERROR_NO_MATCH
- ERROR_RECOGNIZER_BUSY :本当にわずか9 SpeechRecognizerエラーがあります。ドキュメントはどのエラーが聞いてキャンセルしない、あなたはエラーがクリーンアップを行う必要あなたの経験に基づいて、知って起こるのか、非常に詳細ではありませんので
- ERROR_INSUFFICIENT_PERMISSIONS
(とどの程度まで) の前にSpeechRecognizer.startListening()
をもう一度試してみますか?
多くの人がここで返信することは十分に知っています。私はあなたが答えを待つ代わりに、エラーをキャッチし、それに応じてLog.wを試してみることをお勧めします。どのエラーをクローズするかを知ることができます。 – SuhailSherif