蓝牙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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值