首页 > 其他分享 >从空口分析BLE AUDIO MCS和MCP

从空口分析BLE AUDIO MCS和MCP

时间:2024-10-27 08:48:09浏览次数:5  
标签:耳机 UUID Characteristic Media BLE 手机 AUDIO MCS

BLE AUDIO的MCS和MCP就是类似于经典蓝牙AVRCP协议,也是作为媒体控制协议,MCS就是Media control service, 这个是服务端位于手机侧,类似于AVRCP TG。MCP是 Media control profile,这个是client位于耳机端,可以理解为AVRCP Controller,下面还是以手机和耳机为例,结合空口来理解MCS和MCP:

MCS服务发现

耳机和手机在进行了LEA连接后,通过双击耳机可以起播手机音乐,在播放音乐之前,耳机需要知道手机端MCS服务特征值:
在这里插入图片描述
如上图,耳机首先发起ATT查询UUID 0x1849的主要服务,这个0x1849就是GMCS的UUID,手机回复耳机MCS服务的特征值位于63-96之间,接下来我们看看MCS都有哪些特征值:
在这里插入图片描述
图上图所示,我们看到MCS总共有12个特征值,下面分别解释这12个特征值的含义:

特征UUIDvalue Handle详解
Characteristic UUID Media State65媒体状态
Characteristic UUID Media Control Point Supported68支持哪些媒体控制方式
Characteristic UUID Media Player Name71媒体播放器名字
Characteristic UUID Media Control Point74媒体控制点,耳机对手机的play,pause等控制都是通过写入这个特征值
Characteristic UUID Track Changed77轨道改变,可以理解为一段音乐播放完毕发生了变化。
Characteristic UUID Track Title80一段音轨的歌词
Characteristic UUID Track Duration83一段音轨的持续时间
Characteristic UUID Track Position86音轨位置
Characteristic UUID Playing Orders Supported89支持哪些播放次序,比如顺序单曲播放,单曲循环等
Characteristic UUID Playing Order91当前播放次序
Characteristic UUID Content Control ID94内容控制ID
Characteristic UUID Seeking Speed96快进快退的速度

媒体控制:起播

  1. 在媒体播放前,耳机需要获取一些手机播放器的信息,如播放器支持的控制方式,媒体状态,当前播放歌曲次序方式,如下图:

在这里插入图片描述

  1. 耳机会通过写入Media control point特征值来开启手机媒体播放playing,手机会回复通知给耳机,告知手机起播成功:

在这里插入图片描述

  1. 手机接着会通过写入enable ASE control point,然后建立CIS连接:

在这里插入图片描述

  1. 耳机告知了手机ASE状态为streaming之后,手机就可以发送ISO数据包给耳机了:

在这里插入图片描述

媒体控制:下一首

同理通过写入Media control point : Next track来实现音乐播放下一首
在这里插入图片描述

媒体控制:暂停

也是通过写入Media control point: Pause来实现音乐停播或暂停:
在这里插入图片描述

标签:耳机,UUID,Characteristic,Media,BLE,手机,AUDIO,MCS
From: https://blog.csdn.net/Jzj1234555/article/details/143238538

相关文章

  • 在K8S中,Iptables 四表五链有哪些?
    在K8S中,iptables四表五链具体如下:四表:filter表:主要用于过滤数据包。它根据系统管理员预定义的一组规则对进入和离开系统的网络流量进行过滤。对于防火墙而言,主要利用在filter表中指定的规则来实现对数据包的过滤。Filter表是默认的表,如果没有指定哪个表,iptables就默认使......
  • Mit6.S081笔记Lab3: page tables 页表
    课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.htmlLab地址:https://pdos.csail.mit.edu/6.S081/2020/labs/pgtbl.html我的代码地址:https://github.com/Amroning/MIT6.S081/tree/pgtbl相关翻译:http://xv6.dgs.zone/labs/requirements/lab3.html参考博客:https://ww......
  • Linux Ansible 常用模块教程详解
    Ansible是一款流行的开源自动化工具,它通过简单的模型来管理配置服务器、部署软件以及执行各种IT任务。Ansible使用无代理(agentless)架构,这意味着不需要在被管理的节点上安装额外的软件。以下是一些常用的Ansible模块及其使用方法:1.Command模块Command模块用于在远程主......
  • PbootCMS邮件发送失败: Network is unreachable
    问题表现PbootCMS发送邮件时提示“Networkisunreachable”。原因该问题是服务器环境的问题,与PbootCMS程序无关。主要原因包括防火墙、SELinux、网络配置、虚拟机网络连接方式等。解决方法关闭防火墙:关闭Linux防火墙和Windows客户端防火墙。关闭SELinu......
  • 关于手动关闭多个el-popover的方法且不使用visible属性
    1.在el-popover使用ref<el-popoverref="motifyPopover":width="260"trigger="click"popper-class="modify-popover"/>2.声明motifyPopoverconstmotifyPopover=ref<InstanceType<typeofElPopover>>()......
  • 【问题排查】-bash: fork: retry: Resource temporarily unavailable 记录一下
    ●最初现象,ssh端口异常,登录机器出现如下,执行每一个命令都会有这个错,最终就是关闭终端后无法在连接,只能重启释放资源●查看kernel.threads-max(每个进程中最多创建的的线程数目)●top-H查看每个线程的资源使用情况,发现达到了当前系统限制30938●修改threads-max,sy......
  • Elliptic curve discrete logarithm problem
    椭圆曲线离散对数问题(Ellipticcurvediscretelogarithmproblem,ECDLP)对于ECC系统而言,一般会希望\(♯⁡E⁡(F_q)\)尽可能地接近素数。这是因为攻击者面临的ECDLP其(渐进)复杂度取决于\(E⁡(F_q)\)的最大素数子群的大小。即便椭圆曲线上离散对数问题的实现使用产生整个群的基点(ge......
  • 【芯智雲城】Amiccom笙科电子A8105BLE、Sub1G无线方案
    一、方案描述:A8105是一它是一个蓝牙智能IC。该设备集成了高速管道8051单片机,32KBytes系统内可编程闪存,256字节内部数据RAM,2KBytes外部数据RAM,拥有各种领先的2.4GHzFSK/GFSK射频收发器的功能和卓越的性能,可支持低能耗蓝牙外围模式(蓝牙5.0单点模式)。Sub1G的芯片以A9101为例,......
  • FunAudioLLM/SenseVoice
    Skiptocontent NavigationMenu Product Solutions Resources OpenSource Enterprise Pricing  SigninSignup  FunAudioLLM/SenseVoicePublicNotificationsFork 292 Star 3.2k CodeIssues64Pullr......
  • 2024年Stable Diffusion安装教程(附安装包链接)
    随着技术的迭代,目前StableDiffusion已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个logo图片,画一张虚拟老婆照片,画质堪比相机。今天直接给大家上干货,安装包链接在最后!!!安装步骤1.打开链接,可以看到这里边为大家提供了......