AVRCP(Audio/Video Remote Control Profile)作为蓝牙音频 / 视频控制领域的重要规范,通过其完善的协议架构、丰富的功能分类以及对用户需求的深入考量,为我们带来了便捷、高效的音频 / 视频设备控制体验。无论是在日常生活中的音乐播放控制,还是在车载环境下的多媒体交互,AVRCP 都发挥着不可或缺的作用。
一、AVRCP 的架构基石:协议与实体
AVRCP位于蓝牙协议栈的应用层,其底层依赖于基带(Baseband)、链路管理协议(LMP)和逻辑链路控制与适配协议(L2CAP)。AVCTP和BIP(Basic Imaging Profile)则定义了控制A/V设备的具体程序和消息格式。
1.1 底层支撑协议
蓝牙通信的底层基础由基带(Baseband)、链路管理协议(LMP)和逻辑链路控制与适配协议(L2CAP)构成。它们如同坚固的基石,为上层应用提供稳定的通信保障。
基带负责物理信号的传输,包括频率跳变、调制解调等操作,确保数据能在复杂的无线环境中准确无误地传输。
LMP 专注于链路的管理,涵盖链路的建立、参数协商以及安全维护等关键环节,保障设备间连接的稳定性与安全性。
L2CAP 则为上层协议提供适配服务,实现不同上层协议数据的封装与解封装,支持多路复用,让多个应用能共享同一蓝牙链路,为上层协议的运行提供灵活的基础环境。
在 AVRCP 中,这些底层协议为设备间的通信提供了可靠的物理和链路层支持,是实现高层控制功能的必要前提。
1.2 控制与数据传输关键
音频 / 视频控制传输协议(AVCTP):在 AVRCP 体系中,AVCTP 是实现对音频 / 视频设备控制的核心协议。它明确规定了设备间用于控制 A/V 设备的程序和消息交换格式。通过特定的消息结构和交互流程,AVCTP 确保控制指令能准确无误地从控制端(如智能手机)传输到目标设备(如智能音箱或车载音响)。例如,当用户在控制端执行播放、暂停等操作时,AVCTP 会将这些操作转换为相应的控制消息,并通过蓝牙链路发送给目标设备,目标设备依据 AVCTP 协议解析并执行这些指令,从而实现对设备的控制。
蓝牙基本成像规范(BIP)与对象交换协议(OBEX):BIP 主要提供了与媒体相关图像(如音乐封面、视频缩略图等)的交换功能,这在提升用户对媒体内容的直观体验方面具有重要作用。OBEX 作为 BIP 的底层传输协议,是 IrOBEX 在蓝牙环境下的适配版本,负责在设备间传输具体的数据对象,即媒体相关图像。OBEX 定义了数据传输的会话管理、数据格式以及错误处理等机制,保证了图像数据在蓝牙设备间的可靠传输。在 AVRCP 中,BIP 部分功能被复用或重新定义,并非作为独立的配置文件存在,而是与 AVRCP 紧密结合,为其提供图像交换的支持,丰富了 AVRCP 的功能特性。
1.3 服务发现与设备控制相关实体
蓝牙服务发现协议(SDP):SDP 是蓝牙设备发现其他设备上所提供服务的关键协议。在 AVRCP 的应用场景中,当一个设备(如手机)想要与另一个设备(如耳机)建立连接并进行音频 / 视频控制时,首先需要通过 SDP 来查找目标设备是否提供了符合 AVRCP 规范的服务。只有发现了相应的服务,设备之间才能进一步建立连接并进行后续的控制操作。SDP 就像是一个服务索引,帮助设备快速定位和识别所需的服务资源,为 AVRCP 的功能实现奠定了基础。
AV/C 实体:AV/C 实体负责基于 AV/C 命令的设备控制信令。它定义了一套标准化的设备控制指令格式和交互流程,为 AVRCP 提供了设备控制的信令基础。AVRCP 在进行设备控制时,会依据 AV/C 定义的命令集来构建控制消息,使得 AVRCP 能够利用 AV/C 的成熟控制体系,实现对音频 / 视频设备的精确控制。例如,AVRCP 中的音量调节命令可能对应着 AV/C 命令集中的特定指令,通过这种映射关系,AVRCP 能够有效地控制设备的各种功能。
1.4 AVRCP 应用实体
作为 AVRCP 配置文件栈的应用层实体,AVRCP 实体负责按照本规范的定义,在设备间交换控制和浏览命令。它将用户的操作意图(如浏览媒体列表、切换歌曲等)转化为具体的控制和浏览指令,并通过与其他协议和实体的协同工作,实现对音频 / 视频设备的全面控制和媒体内容的浏览。同时,AVRCP 实体也会接收来自目标设备的反馈信息,如设备的当前状态、媒体信息等,并将这些信息反馈给用户,实现设备与用户之间的交互闭环,提升用户体验。
二、AVRCP 的角色与功能分类
2.1 角色定义
控制器(CT):CT 是发起事务的设备,它通过向目标设备发送命令帧来启动操作。常见的 CT 设备包括个人电脑、PDA、手机、遥控器以及各种音频 / 视频设备(如车载系统、耳机、播放器 / 录音机、定时器、调谐器、显示器等)。例如,当我们使用手机控制蓝牙音箱播放音乐时,手机就充当了 CT 的角色。
目标(TG):TG 是接收命令帧并相应生成响应帧的设备。像音频播放器 / 录音机、视频播放器 / 录音机、电视、调谐器、放大器或耳机等设备都可以作为 TG。在上述例子中,蓝牙音箱就是 TG,它接收手机发送的命令并执行相应操作,如播放、暂停音乐等。
2.2 功能分类
AVRCP 通过将音频 / 视频功能划分为四个类别来确保设备间的互操作性。
类别 1:播放器 / 录音机:此类别定义了播放器或录音机的基本操作,无论媒体类型(磁带、光盘、固态存储等)或内容类型(音频或视频等)如何。例如,播放、暂停、快进、快退等操作都属于这一类别。
类别 2:显示器 / 放大器:该类别主要定义了视频显示器或音频放大器的基本操作,如调节音量、亮度、对比度等。
类别 3:调谐器:类别 3 定义了视频调谐器或音频调谐器的基本操作,包括频道切换、频率调节等功能。
类别 4:菜单:类别 4 定义了菜单功能的基本操作,但未指定菜单数据的显示方式。它可以是设备自身的显示屏,也可以是外部显示器上的屏幕显示(OSD)。通过菜单功能,用户可以进行各种设置和操作,如调整电视的亮度、色调或 VCR 的定时器等。
三、AVRCP 的用户需求与应用场景
3.1 多样化的应用场景
①远程控制
用户可以通过遥控器(CT)远程控制便携式光盘播放器(TG),实现播放、暂停、切换曲目等操作。在此场景中,耳机仅接收来自便携式光盘播放器的音频流,不参与遥控器与播放器之间的事务。
②车载音频系统控制
汽车音频系统(CT)可以作为控制器,通过手机(TG)的接口浏览手机上的可用媒体,并执行诸如检索媒体元数据、播放音乐等操作。这为驾驶者在驾驶过程中便捷地控制手机媒体提供了可能。
③设备间的远程控制与音频流传输
耳机(CT)可以控制便携式光盘播放器(TG),用户通过耳机上的遥控器触发事务。同时,便携式光盘播放器将音频流传输给耳机,实现音频播放与控制的一体化。
④微微网内的相互远程控制
在微微网中,耳机和便携式光盘播放器都可以作为远程控制器。例如,便携式光盘播放器可以控制耳机的音量,此时播放器为 CT,耳机为 TG;而耳机也可以向播放器发送播放或停止命令,此时耳机变为 CT,播放器成为 TG。这种灵活的控制方式为用户提供了更多的交互选择。
⑤带 LCD 的遥控器
带有 LCD 遥控器的耳机(CT)可以向媒体播放器(TG)发送命令,接收媒体元数据和浏览信息,并通过 LCD 将这些数据展示给用户。使得用户能够更直观地了解媒体信息,提升了用户体验。
⑥全功能显示的车载套件
全功能显示的车载套件(CT)可以向移动设备(TG)发送命令,接收浏览信息,并利用封面图片(Cover Art)功能检索与浏览或播放的媒体项目相关的封面图片。为车载环境下的媒体控制和展示提供了丰富的功能。
3.2 用户期望与考量
配置灵活性:AVRCP 基于点对点连接的控制,通常假设在两个设备之间进行用例操作。在一个微微网中可能存在一个或多个 CT,且 CT 可以支持多个目标设备,但 AVRCP 并未定义目标选择等控制细节,这为设备制造商提供了一定的设计灵活性。
低延迟响应:远程控制操作的响应速度是 AVRCP 的重要特性。系统需要及时响应,以避免因重复命令导致系统过载等不可控情况。延迟时间因应用而异。CT 和 TG 通过 L2CAP 通道连接进行互操作,若 TG 为中央设备,则需要定期轮询周边设备,以满足应用的 QoS 要求,建议轮询率约为 10Hz。
电源管理:考虑到 AVRCP 使用场景中电池供电设备较为常见,特别是当 CT 为手持设备时。为了确保与现有红外产品相当的服务等级,建议设备采用有效的电源管理策略。由于双工无线电系统相比简单的红外传输控制器功耗更高,因此在设备仅实现 AVRCP 时,建议动态使用低功耗模式。
用户操作与自动功能:用户操作或媒体状态变化通常会触发 AVRCP 中的大部分活动,应用设计应基于这一特性。同时,在该规范内也可以设计无需用户操作的简单自动功能,如定时发送命令在预设时间开始录制的定时器功能。
四、AVRCP 的基本要求与一致性
4.1 基本要求
安全支持:设备必须支持认证和加密功能,以便在对等设备请求时能够参与相应的安全程序,确保通信的安全性。
连接建立:在发起或接收命令之前,设备之间必须先建立链路,为命令的传输提供可靠的通道。
角色灵活性:AVRCP 中不存在固定的中央 / 周边角色,设备可以根据实际应用场景灵活切换角色。
功能分类支持:所有符合该规范的设备至少应支持前面提到的四个类别中的一个类别,也可以支持多个类别,以满足不同设备的功能需求。
数据传输顺序:数据包应按照标准网络字节顺序(大端序)传输多字节字段,即先传输高字节,后传输低字节。
4.2 一致性要求
蓝牙规范中的每个功能都应按照指定的方式得到支持。由于不同产品可能不会实现规范的所有部分,为了确保设计的灵活性,蓝牙规范提供了一些选项。对于每个支持的实现选项,都必须按照规范的要求进行支持,以保证设备间的互操作性和兼容性。
以上是关于 AVRCP 的学习总结,如果你在学习或实践过程中有任何疑问或见解,欢迎在评论区留言交流。
五、参考资料
AVRCP 1.6.3:可在蓝牙技术联盟官方网站或者https://download.csdn.net/download/weixin_37800531/90046059?spm=1001.2014.3001.5503获取。