2016-05-06 2 views
0

AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCKのためにオーディオのフォーカスが失われると、音量を下げる必要があります。オーディオフォーカスを解除すると、AudioManager.AUDIOFOCUS_GAINに復元されます。ただし、イベントの前にリスナーを登録しておけば発砲します。
AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCKイベントの後に登録した場合、音声のフォーカスが状態AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCKにあるかどうかを確認するにはどうすればよいですか?サウンドをダッキングする必要があるかどうかを確認する方法

AudioManager.OnAudioFocusChangeListener audiofocusListener = 
     new AudioManager.OnAudioFocusChangeListener() { 
     @Override public void onAudioFocusChange(int focusChange) { 
      switch (focusChange) { 
      case AudioManager.AUDIOFOCUS_GAIN: { 
      } 
      break; 
      case AudioManager.AUDIOFOCUS_LOSS: { 
      } 
      break; 
      case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: { 
      } 
      break; 
      case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: { 
      } 
      break; 
      } 
     } 
     }; 

答えて

0

私が正しくあなたの質問を理解していれば、あなたが実際にあなたのオーディオのフォーカスリスナーを登録している前に、いくつかの他のアプリは現在、オーディオフォーカスを保持している(したがって、あなたのアプリケーションのオーディオ出力をすくめする必要がある)かどうかを知りたいです。

それが(他のいくつかのアプリは現在、オーディオフォーカスを所有している)場合だ場合は、オーディオフォーカスを取得するためのリクエストはつまり、audiofocusListenerAudioManager.requestAudioFocusへのお電話はAUDIOFOCUS_REQUEST_FAILEDに戻ります、拒否されます。

関連する問題