外观
如何处理 AUDIOFOCUS_GAIN_TRANSIENT 和 AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK?
标准回答
AUDIOFOCUS_GAIN_TRANSIENT 表示请求短暂独占焦点,如短语音提示;AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK 表示请求短暂焦点并允许原播放器压低音量继续播放。它们是请求焦点时的 gain 类型。
**原播放器收到什么:**失去焦点的一方通常按 AUDIOFOCUS_LOSS_TRANSIENT 暂停,按 AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK 降低音量或按业务暂停;重新收到 AUDIOFOCUS_GAIN 后恢复音量,并仅在此前确有播放意图时恢复播放。系统自动 duck 等行为需按版本与音频属性判断。
通俗例子
一段短导航提示可允许背景音乐压低音量;短时语音交互则可能需要其他播放器暂停。实际策略还受系统版本和音频用途影响。
内容来源
- Android · AI Agent 知识手册 · 原条目
12.4.2