Le audio广播音频bis建立流程分析

         这章我们一起来看看le audio广播的功能。在之前的介绍中提到,广播音频的数据流是单向的,支持不限数量的接受端设备。Bis:广播同步流,source和sink设备端通过建立bis来实现音频数据流的传输。下面我们结合HCI log先来看一看source端建立bis的流程吧。

d3fa549bbd184884a2c4dcbcc881949d.png

ble初始化完成之后进行:

  1. 设置扩展广播参数
  2. 设置扩展广播的数据
  3. 设置周期广播的参数
  4. 设置周期广播的数据
  5. 建立big
  6. 建立iso path
  7. 发送iso音频数据流

这里我们再从蓝牙官网BAP协议文档中看看流程图:

e22cbe35fab6475cb89ec951b3001163.png

ee0d30c159794a4cb39050ce047e2ff1.png

从这里看,这个流程是不是比较简单了。

        其中扩展广播数据部分,我们来看看HCI的内容,这里的跟其他广播区别其实在包含了广播相关的UUID 服务,这样可以告诉扫描设备,自身是支持Le Audio广播了。

a64bf938bfcc4d3685b16b181559b17d.png

这里还有一个重要的周期广播了,我们来看看它的内容:

4476f16d232b4b26933fc17f67a1fc64.png周期广播内容中主要设置了音频相关的信息,我们可以看到这里采用LC3编码,48Khz采样率。

      从这里我们可以看出,source端是发出了扩展广播和周期广播,并通过建立iso通道,发送bis音频流。那么相对地,sink端需要接收这些广播,并且通过建立iso通道接收bis音频流,我们再来看一看sink端的流程了。

dd76d9ff6b304272a59a61f4e5cd8595.png

  1. 设置扩展扫描参数
  2. 使能扩展扫描
  3. 扫到目标source设备之后,停止扫描
  4. 再次启动扫描,并同步目标设备的周期广播
  5. 当周期广播同步成功之后,建立big
  6. 建立iso path
  7. 接收到iso音频数据流

这里我们来看看同步周期广播获取的内容:

1e8cec64643945f494ec90d5f9667e6a.png

这里可以看出,也主要是一些音频相关的信息

同样我们再从蓝牙官网BAP协议文档中看看流程图:

e8ce240ce0d04b0784a1f4d87bb9eae6.png

ac3c11006ad04475bdea366b0f3f7a31.png

        至此,我们从蓝牙HCI 层面,分析了Le Audio广播bis发送和接收建立的流程。当然里面很多具体的参数并没有给大家一一介绍,如果后面有用的地方再展开讲讲了。


---------------------------------------------------------------------------------------------------------------------------------
蓝牙,le audio测试开发,技术沟通qq群:985526444
---------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值