蓝牙传输音频效率及问题

本文详述了一项通过蓝牙实现多音频设备同时播放的需求,但在实际操作中遇到蓝牙带宽限制、干扰、同步问题等挑战。作者分析了蓝牙版本、采样率、系统同步和硬件兼容性等因素,并提出了可能的解决思路,包括优化蓝牙版本、考虑不同传输频率和探究反馈机制的影响。
摘要由CSDN通过智能技术生成

最后一直在搞一个项目需求,搞的人挺郁闷的~~
需求很简单,就是将系统中各软件播放的声音通过软件抓取,然后再二次写到另外2个音频外设中,这样就可以实现同一系统中多个音频设备同时播放声音的功能。
功能是很牛逼,但在做的过程中出现了一系列的问题,今天本人统计总结一下:
由于外扩展的音频播放设备是通过蓝牙来实现的,且由于主机使用的是蓝牙4.2版本,导致同时带2个设备时出现一系列的问题”
1。第一个问题就是蓝牙的带宽问题。同时使用44100的采样率2通道每通道2字节的PCM数据格式,这个带宽基本上已经将蓝牙的带宽占满。所以在环境理想的情况下,大概20分钟左右出现数据堆积严重的问题,甚至有时将主机端的蓝牙设备拖死的现象。
2。在上面有说的是理想的环境下。由于蓝牙采用的是2.4G传输频率,导致在周围2.4G比较多的情况下会出现跳数播放卡的情况。想象我们周围的2.4G wifi是如此的多,还有大家现在都喜欢蓝牙耳机,相互之间的干扰,你可以想象。
3 。在个人电脑上蓝牙版本是5.0,发现比4。2要太多,不过偶尔的破音的情况。不过我外扩的一个USB-typec耳机没有问题,所以排除数据的问题,估计还是与蓝牙与蓝牙音箱有关。
4。在3的情况下,将2个蓝牙设备弄成只放一个,效果基本上直接使用系统选中蓝牙音箱播放效果一致。很偶尔出现卡一下的情况。
5。最近也看了一下USB的Feedback,严重怀疑蓝牙音箱的传输与有类似的东西。不过偶尔的破音是否与此支持有关,我还是真的不清楚。
6。系统的问题。使用主板自速的声卡,有时出现IAudioClient::GetCurrentPadding有时增大,但过阵子又会自动变少的情况。长时间应是一个动态的平衡。所以可以怀疑设备与主机的同步有关。
7。对于3的情况,基本上可以是干扰导致宽宽不足引起的问题,不过手中的蓝牙音箱不支持别的采样率。所以也没有办法测试了。

关于音频UAC的一些知识:http://usb.bytekits.com/uac/uac-uac.html
在这里插入图片描述

在这里插入图片描述

附件蓝牙版本对比:

LMP 9.x – Bluetooth 5.0
LMP 8.x – Bluetooth 4.2
LMP 7.x – Bluetooth 4.1
LMP 6.x – Bluetooth 4.0
LMP 5.x – Bluetooth 3.0 + HS
LMP 4.x – Bluetooth 2.1 + EDR

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

站长漫谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值