首页 > 其他分享 >从HCI层浅析BLE Audio通话建立流程

从HCI层浅析BLE Audio通话建立流程

时间:2024-10-12 18:21:23浏览次数:11  
标签:AUDIO CIG 音乐 通话 ASE BLE Audio 浅析

背景

BLE AUDIO音乐播放已经调通了,接下来调试BLE AUDIO的通话,BLE AUDIO通话跟音乐协议类似,都是走CIS链路,也是用同样的codec,比经典蓝牙音乐和通话分别采用不同的A2DP和HFP显得协调多了,下面还是以手机和2个蓝牙耳机为例,结合HCI LOG来分析LE AUDIO通话协议的建立:

连接建立过程

  1. 当我们开始拨通电话号码,对方响铃的时候,手机会通过前面建立的CCP EATT链路通知耳机准备好进行通话:

在这里插入图片描述

  1. 紧接着手机会把音乐的ASE disable,然后断开前面建立的两个CIS,同时去除CIG:

在这里插入图片描述

  1. 接下来就开始建立通话的CIG:

在这里插入图片描述
注意上面红色框框,比较和音乐的CIG的区别发现,MAX SDU SIZE由155变成了80,RTN(重传次数)由13变成了2,说明通话更加注重时效性。

  1. 下来会设4条Setup ISO Data Path命令:

在这里插入图片描述
这里比前面音乐也多了两条,因为通话是双向的,音乐是单向,每个方向都要单独设置一条命令,所以2个耳机是4条命令。

  1. 接下来会通过ASE Control 命令去enable 2个相关ASE,尤其要注意右边红色框框的Audio data context
    type由音乐的Media变成了conversational,这个就代表这当前应用场景是通话,而不是音乐

在这里插入图片描述

  1. 接下来耳机会通知手机ASE端口已经准备好了,手机就可以建立CIS连接了:在这里插入图片描述
  2. 接下来就可以进行愉快的通话啦:
    在这里插入图片描述

标签:AUDIO,CIG,音乐,通话,ASE,BLE,Audio,浅析
From: https://blog.csdn.net/Jzj1234555/article/details/142881330

相关文章

  • coca flex (variable length) queries
     LISTdisplay:flex(variablelength)queriesYoucannowdosearcheswherethereareavariablenumberof"slots".Forexample,thesearch:PUT (NOUN){3} away  (clicktorunthequery)wouldfindstringswith PUT atthebeginnin......
  • TypeError: add_triangle_mesh(): incompatible function arguments. The following a
    12024.10.1214:52Traceback(mostrecentcalllast):File"terrain_creation.py",line119,in<module>gym.add_triangle_mesh(sim,vertices.flatten(),triangles.flatten(),tm_params)TypeError:add_triangle_mesh():incompatiblefunct......
  • R语言使用randomForest包中的randomForest函数构建随机森林模型、使用importance函数
    R语言使用randomForest包中的randomForest函数构建随机森林模型、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB(out-of-bagerrorestimate)目录R语言使用randomForest包中的randomForest函数构建随机森林模型(Randomfores......
  • iptables配置网络防火墙
    文章目录基本链配置动作常用命令基本链链是数据包传播的途径,每条链对应多条规则。数据包进入服务器需要经过多道关卡,以下是三条应用在“主机防火墙”中的链。INPUT:入口流量OUTPUT:出口流量FORWARD:转发流量配置动作配置防火墙规则时,对于指定的数据包,我们通常可以......
  • datatables使用ajax获取数据
    前端://初始化datatablevartable3=$('.jiaoshi_lst').DataTable({"processing":true,"serverSide":true,"paging":true,"ordering":false,"searching":false......