AVRCP(audio vidoe remote control protocol) 协议,用于远程控制音视频设备. 底层传输基于AVCTP传输协议,在蓝牙中,主要用于蓝牙音乐的控制,比如播放/暂停/下一曲/上一曲,以及获取播放状态等。 AVRCP分为CT(contorl devices),TG(target devices).

CT通过指令控制TG播放音乐,比如蓝牙耳机时CT,而手机可以作为TG.

1. 总体报文结构

这里用蓝牙中比较常见的Pass THROUGH command来说明,其他command也有同样的结构.

Ctype : 指令类型(command type),目前主要有control, status , NOTIFY,ACCEPTED,REJECTED, CHANGED,INTERIM,

IMPLEMENTED / STABLE等。

Subunit_type: 子单元类型,一个设备可能包含多个功能模块,在蓝牙协议里,只用到了PANEL,

subunit_id :子单元ID,现在一般为0

Opcode : 操作码,我们主要用到PASS THROUGH/ VENDOR-DEPENDENT,

operation_id :操作ID, 如play,pause,等等.

2. 常见command 结构

2.1 pass through指令

蓝牙音乐主要用到的operation id 为 play, pause,stop,forware,backward.

比如CT发送上一曲操作,CT/TG交互如下:

2.2 VENDOR-DEPENDENT

厂商独立的指令,可以所以设备实现组织自定义. 比如蓝牙设备的company id 固定为"Bluetooth SIG".

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

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

比如TG发送STATUS CHANGE到CT后,CT处理完事件,又要通过RegisterNotification向TG重新注册STATUS CHANGE

蓝牙AVRCP协议分析相关推荐

  1. 【经典蓝牙】蓝牙AVRCP协议分析

    协议简介 蓝牙AVRCP协议是蓝牙设备之间音视频的控制协议.定义了音频/视频的控制.浏览.查询.通知等一系列的命令集.常用来蓝牙耳机对手机的音乐进行控制,以及获取手机的音乐信息等场景.AVRCP协议有 ...

  2. 蓝牙avrcp协议源码分析

    原址:http://blog.csdn.net/u012439416/article/details/54348147 1,概述 1.1 avrcp协议 全称: Audio / Video Remot ...

  3. 【经典蓝牙】蓝牙 A2DP协议分析

    A2DP 介绍 A2DP(Advanced Audio Distribution Profile)是蓝牙高音质音频传输协议, 用于传输单声道, 双声道音乐(一般在 A2DP 中用于 stereo 双声 ...

  4. Android 蓝牙开发——Avrcp协议获取歌曲信息(十八)

    通过前面的 Avrcp 协协议的学习,我们知道蓝牙音乐的控制是通过媒体播放器进行的.而媒体播放器的数据发生变化时会通过 MediaSeesion 通知客户端,本篇文章主要分析一下歌曲信息是如何传递的. ...

  5. 蓝牙a2dp协议源码分析

    1,a2dp协议 1.1 a2dp协议 全称:Advanced Audio Distribution Profile 蓝牙音频传输协议 使用场景:主要是通过蓝牙将声音从一个设备传输到另一个设备. 市场 ...

  6. 蓝牙协议分析(2)_协议架构

    原文链接:蓝牙协议分析(2)_协议架构 (wowotech.net) 系列索引:蓝牙协议分析(1)_基本概念 目录 1.前言 2.协议层次 2.1 物理层 2.1.1 Physical Channel ...

  7. 蓝牙协议分析_BLE广播通信相关的技术分析

    1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过"玩转BLE(1)_Eddystone be ...

  8. 蓝牙协议分析(5)_BLE广播通信相关的技术分析

    蓝牙协议分析(5)_BLE广播通信相关的技术分析 作者:wowo 发布于:2016-5-27 16:15 分类:蓝牙 1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广 ...

  9. Android 蓝牙开发——Avrcp协议(十二)

    SDK路径:frameworks/base/core/java/android/bluetooth/ 服务路径:packages/apps/Bluetooth/src/com/android/blue ...

  10. 蓝牙协议分析(11)_BLE安全机制之Security Manager

    1. 前言 书接上文,我们在"蓝牙协议分析(10)_BLE安全机制之LE Encryption"中介绍了BLE安全机制中的终极武器----数据加密.不过使用这把武器有个前提,那就是 ...

最新文章

  1. matlab数值计算好处,第四章 MATLAB 的数值计算功能(一)
  2. LeetCode - 15. 3Sum
  3. LINQ TO XML练习
  4. SuperSocket 2.0 Preview1 发布,.NET Socket服务器框架
  5. OpenCV开发团队开源计算机视觉标注工具CVAT
  6. 快速理解孤儿进程和僵尸进程
  7. Cocos2d-x动作(Action)详解
  8. Delphi编写事件模型客户端(3)
  9. html倒计时代码执行操作,JS倒计时两种实现方式代码实例
  10. Windows 7语言包下载
  11. 风电变桨滑环工作原理
  12. 时间管理—重要紧急四象限法则
  13. win10共享其它计算机文件,两台win10间如何文件共享
  14. 小故事有大能量(爱情故事)
  15. 互联网思维——用户思维
  16. CDN的加速域名、源站地址与回源host之间的关系
  17. 读《从你的全世界路过》有感
  18. Mac电池系统管理软件App Tamer好用吗?
  19. 美团服务器不稳定号码保护,美团外卖怎么开启号码保护 隐藏自己手机号这么设置...
  20. STM32L476rg 低功耗模式关系梳理以及stm32duino Lowpower库的调用关系梳理

热门文章

  1. 中学计算机基础知识,初中信息技术学业水平考试计算机基础知识考点大全(重点汇总)...
  2. 分布式数据:缓存技术
  3. 终极算法【6】——贝叶斯学派
  4. 推荐一款好用的Web端JSON在线编辑器svelte-jsoneditor
  5. java项目加载器_Java程序的类加载器
  6. SSH、myBatis下载地址
  7. spring源码下载安装,导入idea以及编译报错问题详细解决过程
  8. 全国各地区域码 --- (当地身份证号前六位)
  9. 调用网易云api接口
  10. js实现简易版 替换模板中对应变量