AVRCP(Audio/Video Remote Control Profile)

AVRCP(Audio/Video Remote Control Profile),即音频/视频远程控制协议,是一种专为音频和视频设备设计的远程控制协议。以下是对AVRCP协议的详细介绍:

一、定义与功能

AVRCP协议旨在提供控制音频和视频设备的标准接口,使用户能够通过一个远程控制设备(如智能手机、平板电脑等)来控制其他支持AVRCP的设备,如音响、电视、投影仪、蓝牙耳机、智能音箱等。这些控制操作包括但不限于播放、暂停、上一曲、下一曲、音量调节以及查询当前播放状态或曲目信息等。

二、设备角色

在AVRCP协议中,设备被分为两个角色:

控制器(Controller,CT):发送控制命令的设备,如手机、平板、车载系统等。
目标设备(Target,TG):接收控制命令并执行操作的设备,如蓝牙耳机、音箱等。

三、版本发展

AVRCP协议经历了多个版本的更新与发展,每个版本都增加了新的功能或改进了现有功能。以下是部分版本的简要介绍:

AVRCP 1.0:提供了基础的控制功能,如播放、暂停、音量调节等。
AVRCP 1.3:增加了元数据传输能力,可以获取当前播放歌曲的信息,如曲目标题、艺术家名称、播放时长等。
AVRCP 1.4:支持浏览媒体内容,如播放列表、文件夹等。
AVRCP 1.6:进一步提升了元数据传输功能,支持更复杂的媒体控制场景。

四、工作原理

AVRCP协议的工作原理主要包括以下几个步骤:

配对与连接:通过蓝牙配对完成控制器和目标设备的连接。
服务发现:使用SDP(Service Discovery Protocol)协议确定目标设备是否支持AVRCP功能。
命令与响应:控制器发送控制命令(如播放、暂停等),目标设备执行命令后返回响应状态。
元数据传输:在支持AVRCP 1.3及以上版本的设备中,可以通过AVRCP查询元数据信息。

五、协商

1. 协商流程

AVRCP的协商流程基于蓝牙的**AVCTP(Audio/Video Control Transport Protocol)**协议进行通信,主要分为以下步骤:

1.1 连接建立
  • AVCTP通道建立:CT(如蓝牙耳机)与TG(如手机)通过AVCTP协议建立控制通道(默认使用Channel 0)。
  • 协议版本协商:双方交换支持的AVRCP版本(如1.3、1.4、1.6等),选择共同支持的最高版本。
1.2 能力交换
  • 功能查询:CT通过发送GET_CAPABILITIES命令(AV/C命令)查询TG支持的功能。
  • 特性协商:TG回复支持的AVRCP功能(如绝对音量控制、元数据传输、文件夹浏览等)。
1.3 事件注册
  • 事件订阅:CT向TG注册需要监听的事件(如播放状态变化、曲目信息更新等)。
  • 确认响应:TG确认事件注册成功,后续通过NOTIFY事件主动通知CT。

2. 协商内容

协商的核心内容包括以下方面:

2.1 协议版本
  • 双方支持的AVRCP版本(如1.3、1.4、1.6),决定可用功能范围。
  • 示例
    • 若CT支持AVRCP 1.6,而TG仅支持1.3,则双方使用1.3版本,禁用高级功能(如扩展元数据)。
2.2 功能特性
  • 支持的命令集
    • 基础命令:播放/暂停、切歌、停止等。
    • 高级命令:绝对音量控制(AVRCP 1.3+)、文件夹浏览(AVRCP 1.4+)、扩展元数据(AVRCP 1.6+)。
  • 元数据类型
    • 是否支持ID3标签、专辑封面(AVRCP 1.6)、歌词等。
  • 事件通知
    • TG是否支持主动通知播放状态、曲目变化等事件。
2.3 绝对音量控制(Absolute Volume)
  • 协商是否启用绝对音量同步(AVRCP 1.3+)。
  • 若支持,CT可以直接控制TG的音量值(0-100%),而非仅发送“增大/减小”指令。
2.4 媒体库访问(Browsing)
  • 若支持AVRCP 1.4+,CT可访问TG的媒体库(如车载系统浏览手机音乐文件夹)。

六. 关键交互命令

协商过程中涉及的主要AV/C命令:

命令类型功能描述
GET_CAPABILITIES查询对方支持的功能(如版本、命令集)。
REGISTER_NOTIFICATION注册事件监听(如播放状态、元数据变更)。
SET_ABSOLUTE_VOLUME设置绝对音量(需双方支持AVRCP 1.3+)。

七 . 示例场景

场景:耳机(CT)连接手机(TG)

  1. 版本协商:耳机支持AVRCP 1.6,手机支持AVRCP 1.4 → 双方使用1.4版本。
  2. 功能交换:手机回复支持绝对音量控制,但不支持扩展元数据(如专辑封面)。
  3. 事件注册:耳机注册监听“播放状态变更”和“曲目信息更新”事件。
  4. 结果:耳机可控制手机的音量(绝对音量),但无法显示专辑封面。

八. 常见问题

  • 协商失败:若双方无共同支持的版本,可能仅支持最基础功能(如AVRCP 1.0)。
  • 功能缺失:若未协商绝对音量控制,音量调节可能仅通过“增大/减小”实现。
  • 元数据不显示:需确保双方均支持AVRCP 1.6及元数据格式(如ID3标签)。
蓝牙核心规格 蓝牙设备的构成组件。 蓝牙核心规格定义各种技术构成组件,开发人员可以用它们来创建构成繁荣的蓝牙生态系统的互操作性设备。蓝牙规格由蓝牙技术联盟 (SIG) 负责监督,并由Bluetooth SIG 工作组 定期更新和补充,以满足不断发展的技术和市场要求。 蓝牙的两种类型 部署最为普遍的两种规格为蓝牙基础率/增强数据率 (BR/EDR)(采用版本为 2.0/2.1)和低耗能 (LE) 蓝牙(采用版本为 4.0/4.1/4.2)。每项部署都有不同的用例,同时采用不同的芯片以满足基本硬件要求。双模芯片也适用于包含两种用例的应用。 存在哪些差异? 蓝牙 BR/EDR—可建立相对较短距离的持续无线连接,因此非常适用于流式音频等应用 蓝牙 LE—可建立短时间的长距离无线电连接,非常适用于无需持续连接但依赖电池具有较长寿命的的物联网 (IoT) 应用 双模—双模芯片可支持需要连接 BR/EDR 设备(例如音频耳机)以及 LE 设备(例如穿戴设备或零售信标)的单一设备(例如智能手机或平板电脑) 核心系统结构 尽管每项部署都有具体要求(详见蓝牙规格),但蓝牙核心系统结构有许多统一要素。该系统包含射频收发器、基带和协议栈,支持设备连接和交换各类数据。 蓝牙设备交换根据蓝牙规格协议信号。核心系统协议包括射频 (RF) 协议、链路控制 (LC) 协议、链路管理器 (LM) 协议以及逻辑链路控制和适配协议 (L2CAP),蓝牙规格详细定义了这些协议。 最低的三个系统层—射频、链路控制和链路管理器协议—通常被归属于称为蓝牙控制器的子系统。这是一种采用可选标准接口—主机控制器接口 (HCI)—的通用部署,支持与蓝牙系统的其他设备(即蓝牙主机)进行双向通信。 主控制器可能是以下配置之一,具体取决于用例: BR/EDR 控制器,包括射频、基带、链路管理器和可选 HCI LE 控制器,包括 LE PHY、链路层和可选 HCI BR/EDR 组合控制器和 LE 控制器,组合控制器共享一个蓝牙设备地址 蓝牙规格通过定义等效层之间交换的协议信息来实现系统之间的互操作性。它还通过定义蓝牙控制器和蓝牙主机之间的公用接口来实现独立蓝牙子系统之间的互操作性。 蓝牙栈 物理 (PHY) 层 通过蓝牙通信信道控制 2.4Ghz 射频的传输/接收。BR/EDR 提供的信道较多但带宽较窄,而 LE 使用的信道较少但带宽较宽。 链路层 定义数据包结构/信道、发现/连接程序以及发送/接收数据。 直接测试模式 允许测试人员向 PHY 层发出指令以传输或接收给定数据包序列,通过 HCI 或 2 线 UART 接口提交命令。 主机控制器接口 (HCI) 蓝牙控制器子系统(底部三层)和蓝牙主机之间的可选标准接口。 逻辑链路控制和适配协议 (L2CAP) 层 基于数据包的协议,可将数据包传输至 HCI 或直接传输到无主机系统中的链路管理器。支持更高级别的协议多路复用、数据包分割和重组,以及将服务质量信息传输到更高层。 属性协议 (ATT) 在建立连接之后定义数据交换客户端/服务器协议。使用通用属性配置文件 (GATT) 将属性分类为有意义的服务。ATT 主要用于 LE 部署,偶尔也会用于 BR/EDR 部署。 安全管理器 定义管理蓝牙设备之间配对完整性、身份验证以及加密的协议和操作,提供安全功能工具箱,其他组件可利用该工具箱支持不同应用所需的各种安全级别。 通用属性配置文件 (GATT) 使用属性协议,GATT 对封装设备组件性能的服务进行分组,并描述基于 GATT 功能的用例、角色和一般性能。其服务框架定义服务规程和格式及其特性,其中包括发现、读取、写入、通知以及指示特性以及配置特性广播。GATT 仅用于蓝牙 LE 部署。 详细了解 GATT 信息。 通用访问配置文件(GAP) 可与蓝牙 LE 部署中的 GATT 配合使用,以定义与发现蓝牙设备和共享信息相关的规程和角色,以及连接蓝牙设备的链路管理内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值