|
|
@@ -278,21 +278,29 @@ abstract class BaseReadAloudService : BaseService(),
|
|
|
override fun onAudioFocusChange(focusChange: Int) {
|
|
|
when (focusChange) {
|
|
|
AudioManager.AUDIOFOCUS_GAIN -> {
|
|
|
+
|
|
|
audioFocusLossTransient = false
|
|
|
- if (!pause) resumeReadAloud()
|
|
|
+ if (!pause) {
|
|
|
+ AppLog.put("音频焦点获得,继续朗读")
|
|
|
+ resumeReadAloud()
|
|
|
+ } else {
|
|
|
+ AppLog.put("音频焦点获得")
|
|
|
+ }
|
|
|
}
|
|
|
AudioManager.AUDIOFOCUS_LOSS -> {
|
|
|
+ AppLog.put("音频焦点丢失,暂停朗读")
|
|
|
if (audioFocusLossTransient) {
|
|
|
pauseReadAloud(true)
|
|
|
}
|
|
|
}
|
|
|
AudioManager.AUDIOFOCUS_LOSS_TRANSIENT -> {
|
|
|
+ AppLog.put("音频焦点暂时丢失并会很快再次获得,暂停朗读")
|
|
|
audioFocusLossTransient = true
|
|
|
if (!pause) pauseReadAloud(false)
|
|
|
}
|
|
|
AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK -> {
|
|
|
// 短暂丢失焦点,这种情况是被其他应用申请了短暂的焦点希望其他声音能压低音量(或者关闭声音)凸显这个声音(比如短信提示音),
|
|
|
- AppLog.put("短暂丢失焦点,不做处理")
|
|
|
+ AppLog.put("音频焦点短暂丢失,不做处理")
|
|
|
}
|
|
|
}
|
|
|
}
|