蓝牙AVRCP从连接到控制信令的交互详解,以及绝对音量介绍

1.基本概念

A2DP(Advanced Audio Distribution Profile)是蓝牙的音频传输协议,AVDTP负责传输数据,

AVRCP(AUDIO/VIDEO REMOTE CONTROL PROFILE)则是蓝牙音乐控制协议

AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,它是一个总体的协议,具体的控制信息由其指定的协议(如AVRCP)实现,AVCTP本身只指定控制command和response的总体的格式。所以可以说AVRCP的交互基于AVCTP的连接,另外在工作中还遇到过老设备不支持AVRCP

AVRCP协议两个角色CT 、TG

UUID: A/V_Remote Control /Controller CT端

UUID: A/V_Remote Control Target TG端

绝对音量(重要)

手机端可以设置耳机端百分比音量值

例如手机连接耳机的情形下:大部分情况是手机做TG端,耳机做CT端,耳机端控制音乐播放暂停上下一曲等,但是在在支持绝对音量从手机端进行绝对音量调节时,手机端做CT端,是否支持请看第7点,支持绝对音量耳机端声音更加精细化

支持绝对音量调节耳机端音量 = 手机端音量百分比*耳机端音量百分比(手机端所设绝对音量值)

不支持绝对音量耳机端音量 = 手机端音量百分比 * 100%耳机端音量

绝对音量开关切换可能会出现的异常情况:例如在绝对音量支持的情况下调节耳机端音量为10%,此时关闭绝对音量,耳机端仍然保持10%的音量,此时调节手机端音量,将不会去设绝对音量,最大值将会是100%手机*10%耳机,相比于100%手机*100%耳机,将出现声音特别小调节无效的问题

2.在AVDTP音频流建立完成后到open状态,L2CAP发起AVCTP逻辑链路的连接

3.L2CAP发起SDP,问询A/V_Remote Control,传输完成后显示对端对作为CT端和TG端都做了回复,回复了版本信息和一些支持的feature,也有对端对TG角色的问询,问询结束后就可以说建立了AVRCP的连接

4.PDU ID: Get Capabilities CT端查询TG端支持哪些EVENT 通知

Event ID: EVENT PLAYBACK STATUS CHANGED //播放状态改变

Event ID: EVENT TRACK CHANGED //歌曲信息改变

Event ID: EVENT PLAYBACK POS CHANGED //进度条变化

Event ID: EVENT PLAYER APPLICATION SETTING CHANGED //播放器设置(单曲循环等)

Event ID: EVENT AVAILABLE PLAYERS CHANGED //切换播放器时,可选的播放器改变

Event ID: EVENT ADDRESSED PLAYER CHANGED //切换播放器时,当前播放器改变

5.AVRCP注册通知的格式,注册通知事件----中间态(当前状态,可长时间不变,等待对应通知的change 事件过来)------对应通知的change event,一组信令完成后会再次注册通知。如下,播放状态由paused---playing,歌曲position 等event改变类似

6.CT端按键事件调节歌曲上一首下一首

7.avrcp绝对音量是否支持,可以从SDP对端做TG端时的参数确认,此条参数为support则支持

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值