藍牙音樂焦點管理

1、手機連接車機藍牙,車機藍牙音樂A2dpSink管理流程

   A2dpSink在收到onPrepare或者請求播放音樂時,判斷當前是否已獲取到焦點,如果沒有獲取到焦點,則申請焦點。如果申請成功則更新avrcp狀態信息,通知bluedroid獲取到焦點,並保存已獲取焦點的狀態。

    如果手機端啓動播放器播放音樂,即音頻流start的時候,設置音頻流可用。判斷當前是否已經獲取到焦點,如果沒有獲取到則發送命令停止音樂的播放,如果已經獲取到焦點則更新avrcp狀態信息。

    如果手機停止了音樂的播放,即音頻流停止的時候,設置音頻流不可用,並stopAvrcp。

    收到音頻焦點丟失AUDIOFOCUS_LOSS的消息時,需要釋放焦點,設置當前沒有焦點的狀態並停止音樂播放。

    收到暫時丟失焦點AUDIOFOCUS_LOSS_TRANSIENT消息時,如果音頻流是播放狀態則暫停音樂播放並設置音樂可被恢復,待再次獲取到焦點時恢復音樂的播放。

    收到暫時丟失焦點AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK消息時,降低音量播放。

2 焦點狀態變化處理

3 手機音頻流狀態變化處理

4 操作指令的焦點處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章