System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及蓝牙,尤其是一种蓝牙播放缓冲区动态调整方法、系统、装置及存储介质。
技术介绍
1、随着蓝牙音箱和蓝牙耳机等蓝牙设备越来越受欢迎,人们对蓝牙设备的体验要求越来越高,主要需求体现在低延时和不卡顿两个方面。蓝牙属于无线传输,受周围环境干扰、无线模块多业务等因素影响,蓝牙数据的传输速率不能保持稳定,而是有一定的波动性,容易引起蓝牙音乐卡顿。
2、当前业内为了解决蓝牙卡顿问题,会在蓝牙播放设备端设置一个的较大的缓冲区,来避免蓝牙数据传输速率波动造成卡顿,但缓冲区过大会造成播放延时,影响蓝牙播放效果,尤其是在设备播放视频或者运行游戏,极大地影响了用户的使用体验。
技术实现思路
1、本专利技术的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
2、为此,本专利技术实施例的一个目的在于提供一种蓝牙播放缓冲区动态调整方法,该方法可以动态调整目标蓝牙设备的缓冲区大小,在避免播放卡顿的同时降低了播放延时,提高了蓝牙播放效果和用户的使用体验。
3、本专利技术实施例的另一个目的在于提供一种蓝牙播放缓冲区动态调整系统。
4、为了达到上述技术目的,本专利技术实施例所采取的技术方案包括:
5、第一方面,本专利技术实施例提供了一种蓝牙播放缓冲区动态调整方法,包括以下步骤:
6、根据目标蓝牙设备的多业务使用情况确定所述目标蓝牙设备的业务状态参数;
7、获取所述目标蓝牙设备的acl数据包重传率,并获取所述目标蓝牙设
8、根据所述目标蓝牙设备的缓冲区占用情况确定所述目标蓝牙设备的缓冲区状态参数;
9、根据所述业务状态参数、所述acl数据包重传率、所述速率波动幅度以及所述缓冲区状态参数确定目标缓冲区大小,并根据所述目标缓冲区大小对所述目标蓝牙设备的缓冲区进行调整。
10、进一步地,在本专利技术的一个实施例中,所述根据目标蓝牙设备的多业务使用情况确定所述目标蓝牙设备的业务状态参数这一步骤,其具体包括:
11、获取所述目标蓝牙设备的wifi使用状态,所述wifi使用状态为待机状态、ap广播状态、ap连接状态以及sta连接状态中的一种;
12、获取所述目标蓝牙设备的bt使用状态,所述bt使用状态为待机状态、扫描状态以及a2dp播放状态中的一种;
13、获取所述目标蓝牙设备的ble使用状态,所述ble使用状态为待机状态、扫描状态、广播状态以及连接状态中的一种;
14、对所述wifi使用状态、所述bt使用状态以及所述ble使用状态进行整合,得到所述目标蓝牙设备的业务状态参数。
15、进一步地,在本专利技术的一个实施例中,所述获取所述目标蓝牙设备的acl数据包重传率这一步骤,其具体包括:
16、获取预设的第一时长内所述目标蓝牙设备的acl数据包的重传次数,根据所述重传次数和所述第一时长的比值确定所述acl数据包重传率;
17、或,
18、获取预设的第一时长内所述目标蓝牙设备的acl数据包的重传次数和总传输次数,根据所述重传次数和所述总传输次数的比值确定所述acl数据包重传率。
19、进一步地,在本专利技术的一个实施例中,所述获取所述目标蓝牙设备的速率波动幅度这一步骤,其具体包括:
20、获取所述目标蓝牙设备对应的接收端的实际数据速率;
21、获取所述目标蓝牙设备与所述接收端的传输协议参数确定所述接收端的理想数据速率;
22、确定所述实际数据速率与所述理想数据速率的第一差值,并根据所述第一差值与所述理想数据速率的比值确定所述目标蓝牙设备的速率波动幅度。
23、进一步地,在本专利技术的一个实施例中,所述根据所述目标蓝牙设备的缓冲区占用情况确定所述目标蓝牙设备的缓冲区状态参数这一步骤,其具体包括:
24、按照预设的采样频率获取所述缓冲区的剩余数据空间;
25、将所述剩余数据空间与预设的第一阈值进行对比,确定所述剩余数据空间大于所述第一阈值的第一采样次数;
26、根据所述第一采样次数与总采样次数的比值确定所述目标蓝牙设备的缓冲区状态参数。
27、进一步地,在本专利技术的一个实施例中,所述根据所述业务状态参数、所述acl数据包重传率、所述速率波动幅度以及所述缓冲区状态参数确定目标缓冲区大小这一步骤,其具体包括:
28、根据所述业务状态参数、所述acl数据包重传率、所述速率波动幅度以及所述缓冲区状态参数生成第一参数矩阵;
29、将所述第一参数矩阵输入到预先训练好的缓冲区大小预测模型,输出得到所述目标缓冲区大小。
30、进一步地,在本专利技术的一个实施例中,所述蓝牙播放缓冲区动态调整方法还包括预先训练所述缓冲区大小预测模型的步骤,其具体包括:
31、获取预设的多个第二参数矩阵,所述第二参数矩阵包括标定实验时对应的业务状态参数、acl数据包重传率、速率波动幅度以及缓冲区状态参数;
32、根据标定实验确定所述各所述第二参数矩阵对应的最优缓冲区大小,并根据所述最优缓冲区大小确定对应的所述第二参数矩阵的缓冲区大小标签;
33、根据所述第二参数矩阵和对应的所述缓冲区大小标签构建训练数据集;
34、将所述训练数据集输入到预先构建的深度神经网络,输出得到缓冲区大小预测结果;
35、根据所述缓冲区大小预测结果和所述缓冲区大小标签确定所述深度神经网络的损失值;
36、根据所述损失值通过反向传播算法更新所述深度神经网络的模型参数,并返回将所述训练数据集输入到预先构建的深度神经网络这一步骤;
37、当所述损失值达到预设的第二阈值或迭代次数达到预设的第三阈值,停止训练,得到训练好的所述缓冲区大小预测模型。
38、第二方面,本专利技术实施例提供了一种蓝牙播放缓冲区动态调整系统,包括:
39、业务状态参数确定模块,用于根据目标蓝牙设备的多业务使用情况确定所述目标蓝牙设备的业务状态参数;
40、重传率及波动幅度获取模块,用于获取所述目标蓝牙设备的acl数据包重传率,并获取所述目标蓝牙设备的速率波动幅度;
41、缓冲区状态参数确定模块,用于根据所述目标蓝牙设备的缓冲区占用情况确定所述目标蓝牙设备的缓冲区状态参数;
42、缓冲区大小确定及调整模块,用于根据所述业务状态参数、所述acl数据包重传率、所述速率波动幅度以及所述缓冲区状态参数确定目标缓冲区大小,并根据所述目标缓冲区大小对所述目标蓝牙设备的缓冲区进行调整。
43、第三方面,本专利技术实施例提供了一种蓝牙播放缓冲区动态调整装置,包括:
44、至少一个处理器;
45、至少一个存储器,用于存储至少一个程序;
46、当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的一种蓝牙播放缓冲区动态调整方法。
<本文档来自技高网...【技术保护点】
1.一种蓝牙播放缓冲区动态调整方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述根据目标蓝牙设备的多业务使用情况确定所述目标蓝牙设备的业务状态参数这一步骤,其具体包括:
3.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述获取所述目标蓝牙设备的ACL数据包重传率这一步骤,其具体包括:
4.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述获取所述目标蓝牙设备的速率波动幅度这一步骤,其具体包括:
5.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述根据所述目标蓝牙设备的缓冲区占用情况确定所述目标蓝牙设备的缓冲区状态参数这一步骤,其具体包括:
6.根据权利要求1至5中任一项所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述根据所述业务状态参数、所述ACL数据包重传率、所述速率波动幅度以及所述缓冲区状态参数确定目标缓冲区大小这一步骤,其具体包括:
7.根据权利要求6所述的一种蓝牙播放缓冲区动态调整方
8.一种蓝牙播放缓冲区动态调整系统,其特征在于,包括:
9.一种蓝牙播放缓冲区动态调整装置,其特征在于,包括:
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1至7中任一项所述的一种蓝牙播放缓冲区动态调整方法。
...【技术特征摘要】
1.一种蓝牙播放缓冲区动态调整方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述根据目标蓝牙设备的多业务使用情况确定所述目标蓝牙设备的业务状态参数这一步骤,其具体包括:
3.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述获取所述目标蓝牙设备的acl数据包重传率这一步骤,其具体包括:
4.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述获取所述目标蓝牙设备的速率波动幅度这一步骤,其具体包括:
5.根据权利要求1所述的一种蓝牙播放缓冲区动态调整方法,其特征在于,所述根据所述目标蓝牙设备的缓冲区占用情况确定所述目标蓝牙设备的缓冲区状态参数这一步骤,其具体包括:
...【专利技术属性】
技术研发人员:罗玉义,刘明缘,陆文杰,
申请(专利权)人:珠海全志科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。