前面我们已经介绍了音频焦点的相关基础知识,现在我们来看一下对于 APP 应用来说获取焦点、监听焦点和释放音频焦点的相关实现,已经对应的 Android 源码调用流程。
一、APP处理音频焦点
在 Android 中,音频焦点(Audio Focus)机制是用来协调不同应用之间音频播放的优先级,确保在某一时刻只有一个应用能够播放音频。这对于避免多个应用同时播放音频导致的混乱非常重要。所以对于一个含有播放音频功能的 APP 来说,焦点处理是必不可少的功能。
1、请求音频焦点
在开始播放音频之前,应用需要请求音频焦点。这通常是通过调用 AudioManager.requestAudioFocus() 方法完成的。
AudioManager audioManager = (AudioManager) Context.getSystemService(Context.AUDIO_SERVICE);
playbackAttributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_GAME)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build();
focusRequ