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;
}
}
};