android释放焦点_Android 音频焦点处理

本文介绍了Android系统中的音频焦点概念,讨论了如何处理音频焦点的申请、释放以及对焦点变化的响应。良好的音频应用应当在播放前请求焦点,播放停止后释放,并依据音频焦点变化调整播放状态。针对不同Android版本,如API 21+使用AudioAttributes,API 26+使用AudioFocusRequest。当焦点改变时,应用应根据focusChange参数决定是否duck音量或暂停播放。
摘要由CSDN通过智能技术生成

刚开始的时候,认为在智能机中,每个 APP 都是各自管各自的,媒体播放也是这样子的;然而对比同类产品,发现同类产品可以放到播放自如,体验很好,通过对比研究,根源就在于音频焦点处理上。

一、引言

在功能机时代,系统是不允许有两个或多个音源播出,因为有优先级管理,但在智能机系统中,多个音源同时播放是被允许的,两个或更多的 Android 应用程序可以同时播放音频到相同的输出流。系统把所有东西混合在一起。虽然这在技术上是令人印象深刻的,但对用户来说却是非常令人恼火的,体验感极差。为了避免所有音乐应用同时播放,Android 引入了音频聚焦的概念。只有一个应用程序可以一次聚焦音频。

当应用程序需要输出音频时,它应该请求音频焦点。当它有焦点时,它可以播放声音。然而,在获得音频焦点后,可能无法持有它直到你播放完。另一个应用程序可以请求焦点,它会抢占你的音频焦点。如果出现这种情况,你的应用程序应该暂停播放或降低音量,让用户更容易听到新的音频源。

音频聚焦是合作的。鼓励应用程序遵守音频聚焦指南,但该系统不执行这些规则。如果一个应用程序想在失去声音焦点后继续大声播放,没有什么能阻止它。这是一种糟糕的体验,用户很有可能会卸载出现这种糟糕体验的应用程序。

二、音频焦点申请与释放

一个表现良好的音频应用程序应该管理音频焦点根据这些一般准则:

在开始播放之前立即调用 requestAudioFocus(),并验证调用是否返回 AUDIOFOCUS_REQUEST_GRANTED。如果按照参考设计中描述的那样设计应用程序,那么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值