如果计划在将来一段时间内播放音频,并且希望前一个持有音频焦点的应用停止播放,则应该请求永久性的音频焦点 (AUDIOFOCUS_GAIN)。
如果只希望在短时间内播放音频,并且希望前一个持有音频焦点的应用暂停播放,则应该请求暂时性的焦点 (AUDIOFOCUS_GAIN_TRANSIENT)。
这里我永久获得了焦点,所以我abandon 焦点后,其他应用收不到焦点改变回调,无法继续播放声音,因此改为AUDIOFOCUS_GAIN_TRANSIENT
if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
// 永久失去音频焦点
// 立即停止播放
}
Android 9以上 这里永久失去了焦点 无法正常恢复。
如果计划在将来一段时间内播放音频,并且希望前一个持有音频焦点的应用停止播放,则应该请求永久性的音频焦点 (AUDIOFOCUS_GAIN)。
如果只希望在短时间内播放音频,并且希望前一个持有音频焦点的应用暂停播放,则应该请求暂时性的焦点 (AUDIOFOCUS_GAIN_TRANSIENT)。