android蓝牙音乐之AVRCP介绍和使用

您所在的位置:网站首页 播放手机的意思 android蓝牙音乐之AVRCP介绍和使用

android蓝牙音乐之AVRCP介绍和使用

2024-07-14 06:19| 来源: 网络整理| 查看: 265

引言

最近做的车载蓝牙音乐开发,遇到很多问题,记录一下。也是到处东拼西凑的,勉强看看吧。

AVRCP:Audio/Video Remote Control Profile,音视频远端控制协议,所以该协议不但能控制蓝牙音乐,也可以控制视频流相应的功能。常见的使用到AVRCP控制功能的场景有如下几种:

耳机或车载等蓝牙设备控制其他设备上的音乐音源播放(手机)远端设备控制其他设备上的视频播放远端设备控制手机拍照(手机前台应用为照相机)

AVRCP协议版本变化,版本之间都是向下兼容的关系:

v1.0:基本的远程控制命令,如播放、暂停、切歌v1.3:新增获取音乐当前的播放状态以及播放音乐的歌曲信息(歌曲总时长、当前播放位置、歌曲名、专辑名、歌手)v1.4:新增浏览功能,支持绝对音量调节v1.5:相关协议已通过的更改以纠正各种错误v1.6:新增两个特性: 项目的数量,用于控制器的接口,请求和接收文件夹中的项数,而无需下载列表封面艺术,支持通过基于OBEX协议上的BIP(Basic Imaging Profile)协议将图像传输到媒体项目

所以如果两端设备的AVRCP协议都支持1.6及以上,则可实现通过蓝牙传输图片的功能。由于蓝牙传输数据量的限制,该功能也只是适用于音乐专辑封面照等小数据量的传输,而不适合大批量图片的传输。

至此,最新的v1.6版本的AVRCP协议结构及依赖关系如下:

AVRCP协议的核心概况

类似于其他蓝牙协议,AVRCP协议也将设备两端划分为两种角色:

CT:controller控制器是通过向目标设备发送命令帧来启动事务的设备,如耳机、音箱、车载蓝牙设备TG:target目标是接收控制器发送过来的命令帧并生成相应响应帧的设备,如手机

需要注意的是,通常情况下CT和TG都是成对出现在同一个piconet网中,但是同一个piconet网中可以存在多个CT设备,比如同一个手机(TG)可以同时连接多个耳机(CT)。常见的关系图如下:

从上面的概况图可知AVRCP协议的传输依赖于AVCTP,所以AVRCP协议的连接、交互实际上是AVCTP传输协议的连接、交互流程。

AVCTP的连接建立

用于AVCTP控制的L2CAP链路的连接建立可以由CT或TG启动,此L2CAP链路称为控制通道。如果设备双方都支持浏览功能(AVRCP版本都在v1.4及以上),则还可以在控制通道建立后再建立一条浏览通道,浏览通道在建立时应配置为使用L2CAP增强重传模式。同理通道的释放也可以由CT或TG启动,如果存在浏览通道则需要在控制通道断开前释放。

如果两端设备同时打开AVCTP通道建立连接,双方检测到连接冲突后两个通道都应关闭,每端设备应该等待随机时间(100ms



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3