当打开一个音频应用的时候,解决与另一个正在运行的音频应用的焦点争夺问题(例如:微信电话、网易云音乐)
audioManager = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE);
// 请求焦点的参数说明:
// AUDIOFOCUS_GAIN:长期占有焦点,失去焦点者stop播放和释放
// AUDIOFOCUS_GAIN_TRANSIENT:短暂占有焦点,失去焦点者pause播放
// AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:短暂占有焦点,失去焦点者可以继续播放但是音量需要调低
// AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE:短暂占有焦点,但希望失去焦点者不要有声音播放
// 请求焦点
private void requestAudioFocus() {
if (audioManager != null) {
audioManager.requestAudioFocus(mAudioFocusListener,
AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
}
}
// 主动放弃焦点
private void abandonAudioFocus() {
if (audioManager != null) {
audioManager.abandonAudioFocus(mAudioFocusListener);
}
}
// 丢失焦点
private AudioManager.OnAudioFo