
前两天在项目上做了对音频焦点使用方法的一个总结,记录在下面。
在Android设备上,默认可以有多个应用同时播放音频,但是,这种处理带来的用户体验并不好,为了解决这个问题,Android引入了音频焦点机制,一次只能有一个App持有音频焦点。
一般情况下,当一个App失去音频焦点时,为了有较好的用户体验,它应该主动暂停播放,从而使新获得音频焦点的App可以清晰的播放音频,避免混音的情况。
以下是官方建议的处理音频焦点应该遵循的一些规则:
处理音频焦点都是通过AudioManager这个类,如下是获得该类实例的方法:
AudioManager am = (AudioManager) mContextgetSystemService(ContextAUDIO_SERVICE);
下面介绍音频焦点处理相关的一些方法(不同的Android版本处理音频焦点的方式略有差别,以下内容基于Android 44)。
下面进行详细介绍。
2 abandonAudioFocus(OnAudioFocusChangeListener l)
参数同上。
返回值同上。
3 AudioManagerOnAudioFocusChangeListener
当音频焦点发生变化时,可以在OnAudioFocusChangeListener的onAudioFocusChange(int focusChange)方法中监听到,下面详细说明该方法。
onAudioFocusChange(int focusChange)
参数:focusChange可以表明当前音频焦点发生的是何种变化,需要根据该参数状态做出正确的响应。
分为获得和丢失两种情况:
下面是一个申请长音频焦点,播放音乐的例子:
以上
以上就是关于Android音频焦点处理方法全部的内容,包括:Android音频焦点处理方法、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)