神马笔记播放声音的几处功能:
- 语音笔记
- 视频笔记
- 音乐笔记
其中视频笔记使用VideoView
实现,VideoView
已经对AudioFocus
进行了处理。
视频开始播放之前取得焦点,播放完成或者停止播放时释放焦点。
语音笔记和音乐笔记目前还没有处理音频焦点的问题,会出现多个音源重叠的情况。
比如,使用播放器播放歌曲时,播放语音或者音乐笔记,与歌曲相互重叠,最终两者都听不清楚。
一、目标
处理音频焦点,避免多个音源同时播放。
二、实现方案
AudioManager
提供了AudioFocus
相关接口来实现这个功能。
1. 方法
方法 | 说明 |
---|---|
public int requestAudioFocus(OnAudioFocusChangeListener l, int streamType, int durationHint) |
请求音频焦点,传入回调接口,音频流类型以及请求的时间长度。 |
public int abandonAudioFo |