2016-12-08 10 views
0

私はAndroidのデフォルト音声認識装置を使用しています。しかし、認識プログラムを起動するときとonError()イベントが発生したときにビープ音が鳴ることがわかります。ビープ音はAndroidバージョン5.xから再生されます。Google音声認識装置のビープ音を停止する

私の要件は、連続レコグナイザを実装することです。だから私はこの認識を何度もやり直さなければなりません。このような状況では、ビープ音が何度も繰り返し再生されています。

認識機能を開始する前にメディアサウンドをミュートし、SpeechReady()イベントを再びミュート解除してください。一方、認識装置が4/5秒間スピーチを検出しなかった場合、それは自動的にonError()イベントを呼び出し、このonError()イベントはビープ音を再び再生します。これを解決するために、私は3秒後に強制的にレコグナイザを停止し、システムがこのonError()イベントを呼び出す前にタイマーによってonError()を呼び出しました。 しかし、私はレコグナイザを強制的に閉じたので、システムはここでは例外となり、バズを発しています。

誰も私がどのようにこのビープ音だけでなく、雑音を止めることができるかについての任意の解決策を与えることができます。

ありがとうございます。

答えて

0

AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE); 
amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); 
amanager.setStreamMute(AudioManager.STREAM_ALARM, true); 
amanager.setStreamMute(AudioManager.STREAM_MUSIC, true); 
amanager.setStreamMute(AudioManager.STREAM_RING, true); 
amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true); 

あなたのスピーチを開始する前に結果

AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE); 

amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false); 
amanager.setStreamMute(AudioManager.STREAM_ALARM, false); 
amanager.setStreamMute(AudioManager.STREAM_MUSIC, false); 
amanager.setStreamMute(AudioManager.STREAM_RING, false); 
amanager.setStreamMute(AudioManager.STREAM_SYSTEM, false); 
を取得した後、次のコードを使用して、次のコードを使用します