蓝牙AVRCP协议常见数据包分析
AVRCP(audio vidoe remote control protocol) 協議,音頻視頻遠程控制協議,底層傳輸基于AVCTP傳輸協議。在藍牙中,主要控制藍牙音樂的播放/暫停/下一曲/上一曲等,以及獲取播放狀態、音樂信息等。 AVRCP有兩個角色CT(contorl devices),TG(target devices).CT通過指令控制TG播放音樂,比如藍牙耳機是CT,而手機是TG.
1.
Transaction Label:
Packet type:
有兩種類型,一種是單獨的包(00);一種是連續的包(01 10 11)。
C/R:
該數據幀為命令幀(0)還是響應幀(1);
IPID:
在響應幀中表示無效的配置文件標識符(1),否則為0;在數據幀中為0;
PID:
表示根據所識別的Profile定義的規則對命令/響應幀進行編碼。該值應與
在Bluetooth Assigned中為這個概要文件定義的服務類的16位UUID
Payload:
有效負載。(AVCTP Message Frame 中的數據就是有效負載)
?
Command type:
CONTROL | STATUS| NOTIFY |
Reserved:
保留,置0;
Subunit Type
子單元類型,一個設備可能包含多個功能模塊,常用Subunit_Panel;
Subunit ID:
子單元ID;Subunit_Panel對應的ID碼為0x0;
Opcode:
Vendor Dependent?????0;
UNIT INFO
SUBUNIT INFO
PASS THROUGH
Operands:(操作碼)
Company ID: ???????藍牙認證聯盟的注冊代碼
Button released: ????yes/no
Operation ID: ??????操作ID, 如play, pause,stop,forware,backward.等
Data field length: ????0 bytes
Vendor Dependent:
PDU ID:
?
用每個操作的唯一標識符標識特定的命令/響應?。
GetCapabilities (PDU ID: 0x10):由CT發送,用于查詢對端設備的能力。
ListPlayerApplicationSettingAttributes (PDU ID: 0x11) :目標設備提供目標支持的播放器應用程序設置屬性。?
ListPlayerApplicationSettingValues (PDU ID: 0x12) :請求目標設備列出請求的播放器應用程序設置屬性的可能值集
GetCurrentPlayerApplicationSettingValue (PDU ID: 0x13) :請求目標設備為所提供的播放器應用程序設置屬性列表提供目標上的當前設置值。
?
SetPlayerApplicationSettingValue (PDU ID: 0x14) :在目標設備上為相應定義的列表設置播放器應用程序設置值的播放器應用程序設置列表
GetPlayerApplicationSettingAttributeText (PDU ID: 0x15) :
GetPlayerApplicationSettingValueText (PDU ID: 0x16) :
InformDisplayableCharacterSet (PDU ID: 0x17) :告知CT到TG支持的字符集列表。這將允許使用CT支持的字符集中的字符串發送響應。
InformBatteryStatusOfCT (PDU ID: 0x18) :每當CT的電池狀態被改變時,這個命令幀就會被發送給TG。
GetElementAttributes (PDU ID: 0x20) :請求TG提供參數中指定的元素的屬性。
?????
?
?
GetPlayStatus (PDU ID: 0x30) :用來獲取當前正在播放的媒體的狀態
RegisterNotification (PDU ID: 0x31) :向TG注冊,以根據發生的特定事件異步接收通知。此通知命令的初始響應應為當前狀態的臨時響應,或拒絕/未實現的響應
RequestContinuingResponse (PDU ID: 0x40) :被CT用來請求發送的連續響應包
PDU命令,尚未完成。
AbortContinuingResponse (PDU ID: 0x41) :中止持續響應。
Packet Type:
有兩種類型,一種是單獨的包(00);一種是連續的包(01 10 11)。
Reserved:保留
Parameters length:
Parameter:
總結
以上是生活随笔為你收集整理的蓝牙AVRCP协议常见数据包分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: el-input输入金额,保留两位小数
- 下一篇: ruoyi(若依)框架使用说明(前后端分