1、手机连接车机蓝牙,车机蓝牙音乐A2dpSink管理流程
A2dpSink在收到onPrepare或者请求播放音乐时,判断当前是否已获取到焦点,如果没有获取到焦点,则申请焦点。如果申请成功则更新avrcp状态信息,通知bluedroid获取到焦点,并保存已获取焦点的状态。
如果手机端启动播放器播放音乐,即音频流start的时候,设置音频流可用。判断当前是否已经获取到焦点,如果没有获取到则发送命令停止音乐的播放,如果已经获取到焦点则更新avrcp状态信息。
如果手机停止了音乐的播放,即音频流停止的时候,设置音频流不可用,并stopAvrcp。
收到音频焦点丢失AUDIOFOCUS_LOSS的消息时,需要释放焦点,设置当前没有焦点的状态并停止音乐播放。
收到暂时丢失焦点AUDIOFOCUS_LOSS_TRANSIENT消息时,如果音频流是播放状态则暂停音乐播放并设置音乐可被恢复,待再次获取到焦点时恢复音乐的播放。
收到暂时丢失焦点AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK消息时,降低音量播放。