蓝牙AVRCP协议分析
AVRCP(audio vidoe remote control protocol) 協議,用于遠程控制音視頻設備. 底層傳輸基于AVCTP傳輸協議,在藍牙中,主要用于藍牙音樂的控制,比如播放/暫停/下一曲/上一曲,以及獲取播放狀態等。 AVRCP分為CT(contorl devices),TG(target devices).
CT通過指令控制TG播放音樂,比如藍牙耳機時CT,而手機可以作為TG.
1. 總體報文結構
這里用藍牙中比較常見的Pass THROUGH command來說明,其他command也有同樣的結構.
Ctype : 指令類型(command type),目前主要有control, status , NOTIFY,ACCEPTED,REJECTED, CHANGED,INTERIM,
IMPLEMENTED / STABLE等。
Subunit_type: 子單元類型,一個設備可能包含多個功能模塊,在藍牙協議里,只用到了PANEL,
subunit_id :子單元ID,現在一般為0
Opcode : 操作碼,我們主要用到PASS THROUGH/ VENDOR-DEPENDENT,
operation_id :操作ID, 如play,pause,等等.
?
2. 常見command 結構
2.1 pass through指令
藍牙音樂主要用到的operation id 為 play, pause,stop,forware,backward.
比如CT發送上一曲操作,CT/TG交互如下:
?
2.2 VENDOR-DEPENDENT
廠商獨立的指令,可以所以設備實現組織自定義. 比如藍牙設備的company id 固定為"Bluetooth SIG".
常見的PDU 有:GetCapabilities/GetElementAttributes/GetPlayStatus/RegisterNotification/
TG和CT都要通過RegisterNotification 監聽相應的事件通知。
比如TG發送STATUS CHANGE到CT后,CT處理完事件,又要通過RegisterNotification向TG重新注冊STATUS CHANGE
總結
以上是生活随笔為你收集整理的蓝牙AVRCP协议分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP 实现列出目录的内容
- 下一篇: 网页设计如何排成一列_网页设计如何影响以