蓝牙音乐之AVRCP常用指令介绍

本篇我们不讲协议,不剖析安卓源码,就简单认识下实际蓝牙音乐中涉及的常用AVRCP指令。

播放、暂停、上下首切歌指令都是成对出现的,模拟按钮的按压态,点击pressed,释放released,成对出现的两条AVRCP指令完成一个动作。

1、AVRCP Play
播放蓝牙音乐,使用AVCTP的AV/C格式的命令走控制通道

2、AVRCP Pause
暂停蓝牙音乐,同播放指令一样使用AV/C格式的命令走控制通道

实际使用中由于CT端可能会快速发送两次播放或暂停指令,会触发部分TG端设备(如手机)执行了相反的操作。对应以上场景需要加以规避更好的提供蓝牙音乐功能。

3、AVRCP Forward
切歌到下一首,数据交互走控制通道。

4、AVRCP Backward
切歌到上一首,数据交互走控制通道。

5、AVRCP Get Element Attributes
获取歌曲信息,比如歌手、歌名、专辑名、歌曲总时长等详细信息,采用AV/C格式的命令走控制通道。

6、AVRCP Get Item Attributes
同样是获取歌曲信息,但是采用的是浏览格式的命令走浏览通道。

7、AVRCP Get Play Status
获取当前的播放状态,包括歌曲总时长、当前播放的进度条、播放状态等信息,采用AV/C格式的命令走控制通道。

该指令由于获取歌曲播放的进度条信息,所以需要循环请求,在安卓源码 rc_start_play_status_timer() 中通过每隔 2s 的定时器实现该功能。

8、AVRCP Get Capabilities
获取远端设备AVRCP的能力,比如公司名、支持的事件,采用AV/C格式的命令走控制通道。

9、AVRCP Register Notification
注册通知,将GT端支持的事件注册成功后,如果该事件改变会自动通知到CT端,从而做出正确的处理,依然是采用AV/C格式的命令走控制通道。

10、AVRCP Get Folder Items
获取文件夹列表,比如媒体播放器列表、文件系统列表等。蓝牙音乐主要通过浏览命令走浏览通道获取媒体播放器列表,其会返回当前可用的媒体播放器名,及其支持的功能。

AVRCP常用指令就简单分享到这,以上指令配合使用基本能满足蓝牙音乐应用的需求,更多命令的学习使用留待大家在实际项目中体会。感兴趣的小伙伴欢迎私信留言一起讨论,共同学习,一起进步!

更多互联互通技术,欢迎关注微信公众号:Connectivity

蓝牙音乐之AVRCP常用指令介绍相关推荐

  1. 蓝牙音乐之AVRCP在安卓系统中的实现

    蓝牙音乐之AVRCP在安卓系统中的实现 从<蓝牙音乐之AVRCP>协议分析中可知,音视频远端控制协议被分成两部分:CT + TG,因此安卓源码也相应的分为 avrcp + avrcpcon ...

  2. 我的世界服务器怎么显示腐竹来了,我的世界服务器主人可用指令一览 我的世界腐竹常用指令介绍_游侠手游...

    我的世界服务器主人可用指令一览,我的世界腐竹指令介绍.作为我的世界中一个服务器的主人,你可以掌控这个服务器的天时地利,具体做法自然就是使用指令了.接下来小编就给大家带来服主的常用指令介绍,大家一起来看 ...

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

    引言 最近做的车载蓝牙音乐开发,遇到很多问题,记录一下.也是到处东拼西凑的,勉强看看吧. AVRCP:Audio/Video Remote Control Profile,音视频远端控制协议,所以该协 ...

  4. 什么是模板引擎?常见的模板引擎有哪些?thymeleaf的常用指令介绍

    一.模板引擎概念 模板引擎是为了解决用户界面(显示)与业务数据(内容)分离而产生的. 它可以生成特定格式的文档,常用的如格式如HTML.xml以及其他格式的文本格式.其工作模式如下: 举个例子,我想买 ...

  5. 【chip-tool】chip-tool工具常用指令介绍

    chip-tool 工具可用于调试 matter 设备,是matter协议新兴起时所使用的重要工具,由于资料都是英文 的很不友好,因此本文根据官方教程和自己的理解整理如下,本文主要介绍 chip-to ...

  6. linux常用指令介绍_软件包管理_VIM编辑器的使用_用户和组账户管理_文件权限管理

    1.1. 文件目录操作命令 ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 删除?rmdir  非空 -p 父目录不存在情况下先生成 ...

  7. ME3630模块常用指令介绍

    1.基本指令 AT+CPIN? 该指令用于查询SIM卡的状态,主要是PIN码,如果该指令返回:+CPIN:READY,则表明SIM卡状态正常,返回其他值,则有可能是没有SIM卡. AT+CSQ 该指令 ...

  8. 什么是模板引擎?常见的模板引擎有哪些?Thymeleaf的常用指令介绍。

    1.模板引擎是什么? 模板引擎是以业务逻辑层和表现层分离为目的的,将规定格式的模板代码转换为业务数据的算法实现. 它可以是一个过程代码.一个类,甚至是一个类库.不同的模板引擎其功用也不尽相同,但其基本 ...

  9. 在 VS Code 中阅读 G-code 及 3D 打印机 gcode 常用指令介绍

    1. 在 VS Code 中阅读 G-code 直接以文本格式在 VS Code 中打开 .gcode 文件,会发现没有语法高亮. 安装插件实现语法高亮和悬浮显示命令解释. 1.1 安装插件「G-Co ...

  10. 【Linux】Shell脚本中如何使用“循环”遍历“数组”中的元素(包括MySQL的常用指令介绍)

    一.背景 实习过程中,今天mentor突然让我拉取一下远端园区数据库中的部分信息,因为包含很多不同园区的数据信息,而且要以园区为单位生成文件来对数据进行存放,因此自然是需要使用shell脚本来自动生成 ...

最新文章

  1. c语言贪心算法合并箭,LeetCode刷题题库:贪心算法
  2. Objective-C单例实现
  3. android自定义控件中文乱码,Android笔记--自定义View之组合控件
  4. ESB学习笔记(Spring Integration实战)
  5. 编译py-faster-rcnn全过程
  6. [渝粤教育] 中国地质大学 大学英语(2) 复习题
  7. 【clickhouse】clickhouse kafka 引擎常见问题
  8. java cookie p3p_利用P3P实现单点登录和COOKIE的跨域读写
  9. VM14安装及使用环境配置
  10. 常见的弱口令字典1000~一石三鸟
  11. Android Tools 在线更新SDK Manager
  12. 前端的组件化和模块化
  13. 林锐 de 大学十年
  14. CurrentHashMap的实现原理
  15. 全球与中国海上工作服市场深度研究分析报告
  16. 【WaterRemind】用Arduino与SSD1306做一款提醒喝水的杯垫(何同学同款)
  17. matlab绘图学习(二维曲线)
  18. latex对应希腊字符查表
  19. gollum安装教程
  20. 学习笔记-while语句

热门文章

  1. linux编写的员工管理系统,员工信息管理系统设计与实现(叶晖).doc
  2. cimiss数据_中国气象数据网
  3. scrt 上传和下载文件
  4. mybatis xml注释sql 的注意事项
  5. UTAU - 完整无乱码汉化策略及资源配布
  6. python3.7源码剖析——python对象
  7. oracle 052 题库变了,oracle ocp题库变化,052新加的考试题收集整理-30
  8. LaTeX最全的数学符号大全(更新中…… )
  9. java论文范文模板_Java专业论文开题报告 论文的开题报告模板
  10. html颜色代码生成器,在线取色配色工具,CSS3渐变色代码生成器-易玩稀有