蓝牙(一)AVRCP协议

1.Profile简介


AVRCP子协议的作用是支持CT(contorller devices)控制TG(target devices),CT通过指令控制TG播放音乐,比如蓝牙耳机时CT,而手机可以作为TG。具体来说如果手机和一个蓝牙音箱设备连接上了,那么音箱可以控制手机播放/暂停/切歌以及获得手机上播放歌曲的信息,如专辑,歌名,歌手,时长、播放/暂停/下一曲/上一曲,以及获取播放状态等信息。

蓝牙(一)AVRCP协议_第1张图片

iphone对信息获取支持较为完善,安卓手机差异性比较大,且支持的没有iphone好。

AVRCP(Audio/Video Remote Control Profile)定义了蓝牙设备和audio/video控制功能通信的特点和过程,另用于远程控制音视频设备,底层传输基于AVCTP传输协议。该Profile定义了AV/C数字命令控制集。命令和信息通过AVCTP(Audio/Video Control Transport Protocol)协议进行传输。浏览功能通过AVRCTP的第二个channel而不是AV/C。传输媒体信息通过基于OBEX协议的BIP(Bluetooth Basic Imaging Profile)协议。
蓝牙(一)AVRCP协议_第2张图片

蓝牙(一)AVRCP协议_第3张图片

蓝牙(一)AVRCP协议_第4张图片

常见的PDU 有:GetCapabilities/GetElementAttributes/GetPlayStatus/RegisterNotification/

TG和CT都要通过RegisterNotification 监听相应的事件通知。

2.Protocol Description

2.1.data format

蓝牙(一)AVRCP协议_第5张图片

例:

蓝牙(一)AVRCP协议_第6张图片

下面就以RegisterNotification为例:

蓝牙(一)AVRCP协议_第7张图片

就上述状态抓包分析如下所截图:

蓝牙(一)AVRCP协议_第8张图片

3.AVRCP specific commands

M 强制,O 可选

蓝牙(一)AVRCP协议_第9张图片

蓝牙(一)AVRCP协议_第10张图片

蓝牙(一)AVRCP协议_第11张图片

蓝牙(一)AVRCP协议_第12张图片

你可能感兴趣的:(Bluetooth开发)