AndroidでSpeechRecognizerを使用しようとしていますインテントダイアログなし。ほとんどのデバイスで正常に動作しますが、一部のデバイスはオーディオ録音エラー(エラーコード3)を返します。このエラーの詳細はありません。解決策や理由はありますか?
ありがとうございました!!
回答:
回答№1は2Google App(com.google.android.googlequicksearchbox)に記録権限がない場合にも同じエラーが発生しました。
さらに、SpeechRecognizerはcom.google.android.googlequicksearchboxのサービスを使用します。したがって、このアプリが無効またはアンインストールされている場合、SpeechRecognizerが機能しない可能性があります。
回答№2の場合は0
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
これをマニフェストに設定します。それでも機能しない場合は、どのデバイスがエラーの原因であるかを明記してください。
回答№3の場合は-1
エラーコード6はエラースピーチタイムアウトを意味し、オーディオ録音エラーの値は3です(こちらを参照: https://developer.android.com/reference/android/speech/SpeechRecognizer.html)。 エラー発言のタイムアウトがあると仮定すると、次のことができます。
public void OnError(SpeechRecognizerError error) {
String errorMessage = error.ToString();
if (errorMessage.Contains ("SpeechTimeout"))
{ this.OnDestroy();
this.OnCreate();
}
}
これにより、SpeechRecognizerを再起動できます。
一方、オーディオ録音エラーで問題が発生している場合は、同じ問題に直面しているため、解決策を見つけることができてうれしいです。