问题现象
播放音频A然后播放音频B,此时音频A和音频B可以同时播放。
背景知识
- 音频流:音频流是指音频系统中一个具备音频格式和音频使用场景信息的独立音频数据处理单元。可以表示播放,也可以表示录制,并且具备独立音量调节和音频设备路由切换能力。对于播放流,其类型由StreamUsage决定;对于录制流,其类型由SourceType决定。
- 音频流类型在音量控制、音频焦点管理、输入/输出设备选择等方面有决定性影响。
- 应用需要根据自身的业务场景和实际需求,为音频选择合适的流类型。
- 音频焦点策略:当音频流申请或释放音频焦点时,系统依据音频焦点策略,对所有音频流(包括播放和录制)实施焦点管理,决定哪些音频流可正常运行,哪些需被打断或执行其他操作。
[h2]场景一
查看应用使用的音频流类型是否是可以同时播放的音频流,参考音频焦点调整中常见的音频流类型影响音频焦点的表现,导航(Navigation)和音乐(Music)、音乐(Music)和游戏音频(Game)都不会打断正在播放的音频。
[h2]场景二
查看应用是否是自定义的音频焦点策略,有没有对音频并发模式做处理。
[h2]场景一
使用了错误的音频流。例如导航类音频流可以和其他音频流同时播放,就会导致音频无法打断的现象。
[h2]场景二
使用自定义的音频焦点策略时,未对此情况做特殊处理。
[h2]场景二
在自定义音频焦点策略中对音频并发时做特殊处理,具体可参考:处理音频焦点示例。