CN117176203A - 音频传输方法、装置、存储介质、电子设备及产品 - Google Patents
音频传输方法、装置、存储介质、电子设备及产品 Download PDFInfo
- Publication number
- CN117176203A CN117176203A CN202211215218.XA CN202211215218A CN117176203A CN 117176203 A CN117176203 A CN 117176203A CN 202211215218 A CN202211215218 A CN 202211215218A CN 117176203 A CN117176203 A CN 117176203A
- Authority
- CN
- China
- Prior art keywords
- delay time
- bluetooth audio
- delay
- buffer
- bluetooth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000000872 buffer Substances 0.000 claims abstract description 334
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000005070 sampling Methods 0.000 claims description 105
- 238000004590 computer program Methods 0.000 claims description 20
- 230000000694 effects Effects 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 206010048669 Terminal state Diseases 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本申请公开了一种音频传输方法、装置、存储介质、电子设备及产品,涉及物联网技术领域,该方法包括:发送端在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。本申请可以有效提升蓝牙音频传输过程中时延控制可靠性及控制效果,提升蓝牙音频传输效率,提升用户蓝牙设备使用体验。
Description
技术领域
本申请涉及物联网技术领域,具体涉及一种音频传输方法、装置、存储介质、电子设备及产品。
背景技术
蓝牙音频传输广泛应用于各种生活场景,蓝牙传输音频的性能对于用户体验非常重要。例如,用户在打游戏时使用蓝牙耳机传输音频,传输音频的性能对于音频和画面的同步十分重要,影响用户游戏体验。
目前,蓝牙传输音频过程中,存在简单地根据终端状态对转发数据的缓冲区进行调整,以调整音频数据的传输时延的方案,目前的方案下,一方面,简单地根据终端状态进行调整,存在时延控制可靠性较差的问题,另一方面,仅对转发数据的缓冲区进行调整,存在时延控制效果较差的问题。
因此,目前存在蓝牙音频传输过程中时延控制可靠性及效果较差的问题,蓝牙音频传输效率提升有限,用户体验较差。
发明内容
本申请实施例提供一种方案,可以有效提升蓝牙音频传输过程中时延控制可靠性及控制效果,提升蓝牙音频传输效率,提升用户蓝牙设备使用体验。
为解决上述技术问题,本申请实施例提供以下技术方案:
根据本申请的一个实施例,一种音频传输方法,所述方法包括:在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
在本申请的一些实施例中,所述计算蓝牙音频编码缓冲区的第一延时时间,包括:获取所述蓝牙音频编码缓冲区对应的蓝牙音频编码单位、第一采样率及第一缓冲大小;基于所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间。
在本申请的一些实施例中,所述根据所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间,包括:将所述蓝牙音频编码单位除以所述第一采样率,得到第一结果;将所述第一结果乘以所述第一缓冲大小,得到所述第一延时时间。
在本申请的一些实施例中,所述计算蓝牙音频发送缓冲区的第二延时时间,包括:获取所述蓝牙音频发送缓冲区对应的发送编码包单位、第二采样率及第二缓冲大小;基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间。
在本申请的一些实施例中,所述基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间,包括:将所述发送编码包单位除以所述第二采样率,得到第二结果;将所述第二结果乘以所述第二缓冲大小,得到所述第二延时时间。
根据本申请的一个实施例,一种音频传输装置,所述装置包括:发送端计算模块,用于在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;发送端判断模块,用于判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;发送端调整模块,用于若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
根据本申请的一个实施例,一种音频传输方法,所述方法包括:在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
在本申请的一些实施例中,所述计算蓝牙音频接收缓冲区的第四延时时间,包括:获取所述蓝牙音频接收缓冲区对应的接收解码单位、第四采样率及第四缓冲大小;基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间。
在本申请的一些实施例中,所述基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间,包括:将所述接收解码单位除以所述第四采样率,得到第四结果;将所述第四结果乘以所述第四缓冲大小,得到所述第四延时时间。
在本申请的一些实施例中,所述计算蓝牙音频解码缓冲区的第三延时时间,包括:获取所述蓝牙音频解码缓冲区对应的蓝牙音频解码包单位、第三采样率及第三缓冲大小;基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第四延时时间。
在本申请的一些实施例中,所述基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第三延时时间,包括:将所述蓝牙音频解码包单位除以所述第三采样率,得到第三结果;将所述第三结果乘以所述第三缓冲大小,得到所述第三延时时间。
根据本申请的一个实施例,一种音频传输装置,所述装置包括:接收端计算模块,用于在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;接收端判断模块,用于判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;接收端调整模块,用于若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
根据本申请的一个实施例,一种音频传输系统,其特征在于,包括发送端和接收端,其中:所述发送端,用于在向所述接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小;所述接收端,用于在接收所述发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
根据本申请的另一实施例,一种存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行本申请实施例所述的方法。
根据本申请的另一实施例,一种电子设备可以包括:存储器,存储有计算机程序;处理器,读取存储器存储的计算机程序,以执行本申请实施例所述的方法。
根据本申请的另一实施例,一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例所述的各种可选实现方式中提供的方法。
本申请实施例的音频传输方案中,发送端可以:在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
以这种方式,发送端在向接收端通过蓝牙发送音频数据的过程中,一方面,根据延时时间进行缓冲区的调整,避免简单根据终端状态进行调控的不可靠性,时延整体控制可靠性提升,另一方面,对蓝牙音频编码缓冲区及蓝牙音频发送缓冲区分别进行对应调整,形成发送端的蓝牙音频全链路传输控制,时延控制效果提升。进而,整体上有效提升提升蓝牙音频传输过程中时延控制可靠性及控制效果,提升蓝牙音频传输效率,不必对硬件进行改动,在软件层面即可实现,有效提升用户蓝牙设备使用体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种可以应用本申请实施例的系统的示意图。
图2示出了根据本申请的一个实施例的音频传输方法的流程图。
图3示出了根据本申请的另一个实施例的音频传输方法的流程图。
图4示出一种场景下发送端进行蓝牙音频传输的流程图。
图5示出一种场景下接收端进行蓝牙音频传输的流程图。
图6示出一种场景下发送端与接收端通过应用本申请的实施例进行蓝牙音频传输的流程图。
图7示出了根据本申请的一个实施例的音频传输装置的框图。
图8示出了根据本申请的另一个实施例的音频传输装置的框图。
图9示出了根据本申请的一个实施例的电子设备的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了一种可以应用本申请实施例的系统100的示意图。如图1所示,系统100可以包括发送端101和接收端102。发送端101和接收端102可以是任意的具有蓝牙功能的设备,例如电脑、手机、智能手表以及家电设备等。
本示例的一种实施方式中,发送端101可以:在向接收端102通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
本示例的另一种实施方式中,接收端102可以:在接收发送端101发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
基于图1所示的系统,首先从发送端101的角度对本申请的音频传输方法进行介绍。图2示意性示出了根据本申请的一个实施例的音频传输方法的流程图。该音频传输方法的执行主体可以是任意具有蓝牙功能的发送端。
如图2所示,该音频传输方法可以包括步骤S210至步骤S230。
步骤S210,在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;
步骤S220,判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;
步骤S230,若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
发送端即通过蓝牙发送音频数据的设备,接收端即通过蓝牙接收音频数据的设备,发送端和接收端均可以支持蓝牙音频传输模型协定(A2DP,Advanced AudioDistribution Profile),发送端和接收端可以建立蓝牙连接。
蓝牙音频编码缓冲区即缓冲待进行编码的音频流样本的缓冲区。发送端可以采集音频流样本为编码做准备,当蓝牙编码器正在进行编码时,音频流样本就会在蓝牙音频编码缓冲区缓冲起来,等待蓝牙编码器有可用蓝牙带宽后进行编码。
蓝牙音频发送缓冲区即缓冲已经编码好且没有打包的音频编码数据的缓冲区。当音频流样本经过蓝牙编码器编码得到音频编码数据后,音频编码数据需要打包后通过蓝牙发送给接收端。在发送之前,当前已经编码好且没有进行打包的音频编码数据会缓冲在蓝牙音频发送缓冲区。当蓝牙音频发送缓冲区中音频编码数据打包得到音频编码包后,发送端会将音频编码包发送至接收端。
在发送端向接收端通过蓝牙发送音频数据的过程中,发送端计算蓝牙音频编码缓冲区带来的音频数据传输的延时时间,得到第一延时时间;以及计算蓝牙音频发送缓冲区带来的音频数据传输的延时时间,得到第二延时时间。发送端进一步判断第一延时时间是否满足第一延迟条件,以及判断第二延时时间是否满足第二延迟条件,第一延迟条件和第二延迟条件可以预先指定。
若发送端判断第一延迟条件满足,则降低蓝牙音频编码缓冲区的大小,以及,若发送端判断第二延迟条件满足,则降低蓝牙音频发送缓冲区的大小,进而,发送端可以对发送音频数据的全链路缓冲区分别自适应进行动态降低,可以有效对发送端的音频传输时延进行动态控制。
以这种方式,基于步骤S210至步骤S230,发送端在向接收端通过蓝牙发送音频数据的过程中,一方面,根据延时时间进行缓冲区的调整,避免简单根据终端状态进行调控的不可靠性,时延整体控制可靠性提升,另一方面,对蓝牙音频编码缓冲区及蓝牙音频发送缓冲区分别进行对应调整,形成发送端的蓝牙音频全链路传输控制,时延控制效果提升。进而,整体上有效提升提升蓝牙音频传输过程中时延控制可靠性及控制效果,提升蓝牙音频传输效率,不必对硬件进行改动,在软件层面即可实现,有效提升用户蓝牙设备使用体验。
下面描述图2实施例中进行音频传输时,所进行的各步骤的进一步具体可选实施例。
一种实施例中,步骤S210中,计算蓝牙音频编码缓冲区的第一延时时间,包括:
获取所述蓝牙音频编码缓冲区对应的蓝牙音频编码单位、第一采样率及第一缓冲大小;基于所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间。
蓝牙音频编码单位即蓝牙音频编码缓冲区对应的音频编码单位,例如,一个蓝牙音频编码单位为128个采样数据(即采样的音频流样本)。第一采样率即蓝牙音频编码缓冲区对应的对应的采样率,第一采样率即一秒钟的音频流样本的采样数,例如,44100。第一缓冲大小即蓝牙音频编码缓冲区对应的缓冲大小,例如,第一缓冲大小为n个蓝牙音频编码单位。
第一延时时间即蓝牙音频编码缓冲区对应的延时时间,申请人发现基于蓝牙音频编码单位、第一采样率及第一缓冲大小,按照预定计算方式进行计算处理,可以准确得到第一延时时间来可靠指导对蓝牙音频编码缓冲区的大小调整。
一种实施例中,所述根据所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间,包括:
将所述蓝牙音频编码单位除以所述第一采样率,得到第一结果;将所述第一结果乘以所述第一缓冲大小,得到所述第一延时时间。
例如,可以根据公式1:Delay1=(M1/N1)*n1计算第一延时时间Delay1,其中,M1为蓝牙音频编码单位,N1为第一采样率,第一结果即M1/N1,n1为第一缓冲大小。
一种实施例中,步骤S210中,所述计算蓝牙音频发送缓冲区的第二延时时间,包括:
获取所述蓝牙音频发送缓冲区对应的发送编码包单位、第二采样率及第二缓冲大小;基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间。
发送编码包单位即蓝牙音频发送缓冲区对应的音频编码包单位,例如,一个音频编码包单位为一个音频编码包有128个bytes。第二采样率即蓝牙音频发送缓冲区对应的采样率,第二采样率为一秒钟的音频编码包的采样数,例如,44100。第二缓冲大小即蓝牙音频发送缓冲区对应的缓冲大小,例如,第二缓冲大小为n个音频编码包。
第二延时时间即蓝牙音频发送缓冲区对应的延时时间,申请人发现基于发送编码包单位、第二采样率及第二缓冲大小,按照预定计算方式进行计算处理,准确得到第二延时时间来可靠指导对蓝牙音频发送缓冲区的大小调整。
一种实施例中,所述基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间,包括:
将所述发送编码包单位除以所述第二采样率,得到第二结果;将所述第二结果乘以所述第二缓冲大小,得到所述第二延时时间。
例如,可以按照公式2:Delay2=(M2/N2)*s1计算第二延时时间Delay2,其中,M2为发送编码包单位,N2为第二采样率,第二结果即M2/N2,s1为第二缓冲大小。
一种实施例中,步骤S220中,判断所述第一延时时间是否满足第一延迟条件,可以是:若第一延时时间大于第一阈值,则第一延时时间满足第一延迟条件;若第一延时时间不大于第一阈值,则第一延时时间不满足第一延迟条件。
一种实施例中,步骤S220中,判断所述第一延时时间是否满足第一延迟条件,可以是:若第一延时时间与第一预设系数的乘积大于第一阈值,则第一延时时间满足第一延迟条件;若第一延时时间与第一预设系数的乘积不大于第一阈值,则第一延时时间不满足第一延迟条件。
一种实施例中,步骤S220中,判断所述第二延时时间是否满足第二延迟条件,可以是:若第二延时时间大于第二阈值,则第二延时时间满足第二延迟条件;若第二延时时间不大于第二阈值,则第二延时时间不满足第二延迟条件。
一种实施例中,步骤S220中,判断所述第二延时时间是否满足第二延迟条件,可以是:若第二延时时间与第二预设系数的乘积大于第二阈值,则第二延时时间满足第二延迟条件;若第二延时时间与第二预设系数的乘积不大于第二阈值,则第二延时时间不满足第二延迟条件。
一种实施例中,步骤S230中,若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,可以是:通过减少蓝牙音频编码单位,降低所述蓝牙音频编码缓冲区的大小,和/或,提高第一采样率,降低所述蓝牙音频编码缓冲区的大小。申请人发现以这种方式,可以有效降低蓝牙音频编码缓冲区带来的音频传输延迟。
一种实施例中,步骤S230中,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小,可以是:通过减少发送编码包单位,降低所述蓝牙音频发送缓冲区的大小,和/或,通过提高第二采样率,降低所述蓝牙音频发送缓冲区的大小。申请人发现以这种方式,可以有效降低蓝牙音频发送缓冲区带来的音频传输延迟。
基于图1所示的系统,其次从接收端102的角度对本申请的音频传输方法进行介绍。图3示意性示出了根据本申请的另一个实施例的音频传输方法的流程图。该音频传输方法的执行主体可以是任意具有蓝牙功能的接收端。
如图3所示,该音频传输方法可以包括步骤S310至步骤S330。
步骤S310,在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;
步骤S320,判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;
步骤S330,若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
蓝牙音频解码缓冲区即缓冲蓝牙接收器接收到的音频编码包的缓冲区。发送端会将音频编码包发送至接收端,接收端的蓝牙接收器将接收到的音频编码包缓冲在蓝牙音频解码缓冲区。经过蓝牙音频解码缓冲区后的音频编码包就执行解码操作,解码还原成为音频解码数据,音频解码数据可以发送至播放器进行播放。
蓝牙音频接收缓冲区即缓冲音频解码数据的缓冲区。音频解码数据在发送至播放器进行播放之前,缓冲在蓝牙音频接收缓冲区。经过此蓝牙音频接收缓冲区后的音频解码数据发送到播放器播放,完成音频从发送端到接收端播放的全链路传输。
在接收端通过蓝牙接收发送端发送的音频数据进行播放的过程中,接收端计算蓝牙音频接收缓冲区带来的音频数据传输的延时时间,得到第四延时时间;以及计算蓝牙音频解码缓冲区带来的音频数据传输的延时时间,得到第三延时时间。接收端进一步判断第四延时时间是否满足第四延迟条件,以及判断第三延时时间是否满足第三延迟条件,第三延迟条件和第四延迟条件可以预先指定。
若接收端判断第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若接收端判断第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小,进而,在发送端有效对音频传输时延进行动态控制的基础上,接收端进一步可以对接收音频数据的全链路缓冲区分别自适应进行动态降低,可以有效对接收端的音频传输时延进行动态控制。进而,实现发送端发送音频到接收端接收并播放音频的全链路的音频传输时延的有效动态控制。
以这种方式,基于步骤S310至步骤S330,接收端在接收发送端通过蓝牙发送的音频数据进行播放的过程中,一方面,根据延时时间进行缓冲区的调整,避免简单根据终端状态进行调控的不可靠性,时延整体控制可靠性提升,另一方面,对蓝牙音频解码缓冲区及蓝牙音频接收缓冲区分别进行对应调整,形成接收端的蓝牙音频全链路传输控制,时延控制效果提升。
在发送端有效对音频传输时延进行动态控制的基础上,接收端进一步有效对接收端的音频传输时延进行动态控制。进而,实现发送端发送音频到接收端接收并播放音频的全链路的音频传输时延的有效动态控制。进一步,整体上有效提升蓝牙音频传输过程中时延控制可靠性及控制效果,提升音频传输效率,提升用户蓝牙设备使用体验。
下面描述图3实施例中进行音频传输时,所进行的各步骤的进一步具体可选实施例。
一种实施例中,步骤S310中,所述计算蓝牙音频接收缓冲区的第四延时时间,包括:
获取所述蓝牙音频接收缓冲区对应的接收解码单位、第四采样率及第四缓冲大小;基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间。
接收解码单位即蓝牙音频接收缓冲区对应的音频解码单位,例如,一个音频解码单位为128个采样数据(即采样的音频解码数据)。第四采样率即蓝牙音频接收缓冲区对应的采样率,第四采样率为一秒钟的音频解码数据的采样数,例如,44100。第四缓冲大小即蓝牙音频接收缓冲区对应的缓冲大小,例如,第四缓冲大小为n个音频解码单位。
第四延时时间即蓝牙音频接收缓冲区对应的延时时间,申请人发现基于接收解码单位、第四采样率及第四缓冲大小,按照预定计算方式进行计算处理,可以准确得到第四延时时间来可靠指导对蓝牙音频接收缓冲区的大小调整。
一种实施例中,所述基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间,包括:
将所述接收解码单位除以所述第四采样率,得到第四结果;将所述第四结果乘以所述第四缓冲大小,得到所述第四延时时间。
例如,可以按照公式3:Delay4=(M4/N4)*s2计算第四延时时间Delay3,其中,M4为接收解码单位,N4为第四采样率,第四结果即M4/N4,s2为第四缓冲大小。
一种实施例中,步骤S310中,所述计算蓝牙音频解码缓冲区的第三延时时间,包括:
获取所述蓝牙音频解码缓冲区对应的蓝牙音频解码包单位、第三采样率及第三缓冲大小;基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第三延时时间。
蓝牙音频解码包单位即蓝牙音频解码缓冲区对应的音频解码包单位,例如,一个蓝牙音频解码包单位为一个未解码的音频编码包有128个bytes。第三采样率即蓝牙音频解码缓冲区对应的对应的采样率,第三采样率即一秒钟的未解码的音频编码包的采样数,例如,44100。第三缓冲大小即蓝牙音频解码缓冲区对应的缓冲大小,例如,第三缓冲大小为s个蓝牙音频解码包单位。
第三延时时间即蓝牙音频解码缓冲区对应的延时时间,申请人发现基于蓝牙音频解码包单位、第三采样率及第三缓冲大小,按照预定计算方式进行计算处理,可以准确得到第三延时时间来可靠指导对蓝牙音频解码缓冲区的大小调整。
一种实施例中,所述基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第三延时时间,包括:
将所述蓝牙音频解码包单位除以所述第三采样率,得到第三结果;将所述第三结果乘以所述第三缓冲大小,得到所述第三延时时间。
例如,可以根据公式4:Delay3=(M3/N3)*n2计算第四延时时间Delay3,其中,M3为蓝牙音频解码包单位,N43为第三采样率,第三结果即M3/N3,n2为第三缓冲大小。
一种实施例中,步骤S320中,判断所述第三延时时间是否满足第三延迟条件,可以是:若第三延时时间大于第三阈值,则第三延时时间满足第三延迟条件;若第三延时时间不大于第三阈值,则第三延时时间不满足第三延迟条件。
一种实施例中,步骤S320中,判断所述第三延时时间是否满足第三延迟条件,可以是:若第三延时时间与第三预设系数的乘积大于第三阈值,则第三延时时间满足第三延迟条件;若第三延时时间与第三预设系数的乘积不大于第三阈值,则第三延时时间不满足第三延迟条件。
一种实施例中,步骤S320中,判断所述第四延时时间是否满足第四延迟条件,可以是:若第四延时时间大于第四阈值,则第四延时时间满足第四延迟条件;若第四延时时间不大于第四阈值,则第四延时时间不满足第四延迟条件。
一种实施例中,步骤S320中,判断所述第四延时时间是否满足第四延迟条件,可以是:若第四延时时间与第四预设系数的乘积大于第四阈值,则第四延时时间满足第四延迟条件;若第四延时时间与第四预设系数的乘积不大于第四阈值,则第四延时时间不满足第四延迟条件。
一种实施例中,步骤S330中,若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,可以是:通过减少接收解码单位,降低所述蓝牙音频接收缓冲区的大小,和/或,提高第四采样率,降低所述蓝牙音频接收缓冲区的大小。申请人发现以这种方式,可以有效降低蓝牙音频接收缓冲区带来的音频传输延迟。
一种实施例中,步骤S330中,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小,可以是:通过减少蓝牙音频解码包单位,降低所述蓝牙音频解码缓冲区的大小,和/或,通过提高第三采样率,降低所述蓝牙音频解码缓冲区的大小。申请人发现以这种方式,可以有效降低蓝牙音频解码缓冲区带来的音频传输延迟。
需要说明的是,基于图1所示的系统,至少有发送端101执行了如图2所示的音频传输方法,或者至少有接收端102执行了如图3所示的音频传输方法。在一种优选的应用场景中,图1所示的系统中的发送端101和接收端102分别执行了如图2和如图3所示的音频传输方法。
基于上述实施例,以下将结合这种优选的场景,对本申请提供的蓝牙音频传输方法的流程进行进一步的描述。其中,图4示出了该场景下发送端进行蓝牙音频传输的流程图。图5示出了该场景下接收端进行蓝牙音频传输的流程图。图6示出该场景下发送端与接收端通过应用本申请的实施例进行蓝牙音频传输的流程图。
参阅图4至图6,该场景下发送端与接收端进行音频传输的流程包括步骤S401至步骤S4,20。其中,发送端执行步骤401至步骤S410;接收端执行步骤411至步骤S420。
步骤S401,发送端的“音频播放器”播放音频。
步骤S402,采集“音频数据”,即从“音频播放器”采样音频流样本(即图4所示的采样数据)。
步骤S403,音频编码缓冲,具体地,当蓝牙编码器正在进行编码时,音频流样本就会在图4所示的“蓝牙音频编码缓冲区”缓冲起来,等待蓝牙编码器有可用蓝牙带宽后进行编码。
步骤S404,判断Delay1=(M1/N1)*n1是否满足?即,计算蓝牙音频编码缓冲区的第一延时时间Delay1,判断所述第一延时时间是否满足第一延迟条件。
其中,计算蓝牙音频编码缓冲区的第一延时时间,具体包括:获取所述蓝牙音频编码缓冲区对应的蓝牙音频编码单位、第一采样率及第一缓冲大小;基于所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间。
蓝牙音频编码单位即蓝牙音频编码缓冲区对应的音频编码单位,例如,一个蓝牙音频编码单位为如图4所示的M个采样数据(即采样的音频流样本)。第一采样率即蓝牙音频编码缓冲区对应的对应的采样率,第一采样率即一秒钟的音频流样本的采样数,例如,44100。第一缓冲大小即蓝牙音频编码缓冲区对应的缓冲大小,例如,如图4所示,第一缓冲大小为n个蓝牙音频编码单位(即n编码单位)。第一延时时间(如图4所示的时延1)即蓝牙音频编码缓冲区对应的延时时间。
其中,所述根据所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间,具体包括:将所述蓝牙音频编码单位除以所述第一采样率,得到第一结果;将所述第一结果乘以所述第一缓冲大小,得到所述第一延时时间。即可以根据公式1:Delay1=(M1/N1)*n1计算第一延时时间Delay1,其中,M1为蓝牙音频编码单位,N1为第一采样率,第一结果即M1/N1,n1为第一缓冲大小。
其中,判断所述第一延时时间是否满足第一延迟条件,可以是:若第一延时时间大于第一阈值,则第一延时时间满足第一延迟条件;若第一延时时间不大于第一阈值,则第一延时时间不满足第一延迟条件。
步骤S405,减少M1,和/或,提高N1。即,若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,包括:通过减少蓝牙音频编码单位M1,降低所述蓝牙音频编码缓冲区的大小,和/或,提高第一采样率N1,降低所述蓝牙音频编码缓冲区的大小。
步骤S406,音频编码器(如图4所示的编码器)将蓝牙音频编码缓冲区中缓冲的音频流样本进行编码,得到音频编码数据。
步骤S407,音频打包缓冲,当音频流样本经过蓝牙编码器编码得到音频编码数据后,音频编码数据需要打包后通过蓝牙发送给接收端。在发送之前,当前已经编码好且没有进行打包的音频编码数据,会缓冲在如图4所示的“蓝牙音频发送缓冲区”。
步骤S408,判断Delay2=(M2/N2)*s1是否满足?即,计算蓝牙音频发送缓冲区的第二延时时间Delay2,判断所述第二延时时间是否满足第二延迟条件。
其中,计算蓝牙音频发送缓冲区的第二延时时间,包括:获取所述蓝牙音频发送缓冲区对应的发送编码包单位、第二采样率及第二缓冲大小;基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间。
参阅图4,发送编码包单位即蓝牙音频发送缓冲区对应的音频编码包单位,例如,一个音频编码包单位为一个音频编码包(如图4所示的已编码音频包)有P字节。第二采样率即蓝牙音频发送缓冲区对应的采样率,第二采样率为一秒钟的音频编码包的采样数,例如,44100。第二缓冲大小即蓝牙音频发送缓冲区对应的缓冲大小,例如,第二缓冲大小为s个音频编码包(如图4所示的s已编码音频包)。第二延时时间即蓝牙音频发送缓冲区对应的延时时间(即如图4所示的时延2)。
其中,所述基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间,包括:将所述发送编码包单位除以所述第二采样率,得到第二结果;将所述第二结果乘以所述第二缓冲大小,得到所述第二延时时间。即按照公式2:Delay2=(M2/N2)*s1计算第二延时时间Delay2,其中,M2为发送编码包单位,N2为第二采样率,第二结果即M2/N2,s1为第二缓冲大小。
其中,判断所述第二延时时间是否满足第二延迟条件,可以是:若第二延时时间大于第二阈值,则第二延时时间满足第二延迟条件;若第二延时时间不大于第二阈值,则第二延时时间不满足第二延迟条件。
步骤S409,减少M2,和/或,提高N2,即,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小,包括:通过减少发送编码包单位M2,降低所述蓝牙音频发送缓冲区的大小,和/或,通过提高第二采样率N2,降低所述蓝牙音频发送缓冲区的大小。
步骤S410,蓝牙发射器发射音频编码包至接收端。
步骤S411,接收端的蓝牙接收器接收音频编码包。
步骤S412,音频收包缓冲,接收端的蓝牙接收器将接收到的音频编码包缓冲在如图5所示的蓝牙音频解码缓冲区。
步骤S413,判断Delay3=(M3/N3)*n2是否满足?即,计算蓝牙音频解码缓冲区的第三延时时间Delay3,判断所述第三延时时间是否满足第三延迟条件。
其中,计算蓝牙音频解码缓冲区的第三延时时间,包括:获取所述蓝牙音频解码缓冲区对应的蓝牙音频解码包单位、第三采样率及第三缓冲大小;基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第三延时时间。
参阅图5,蓝牙音频解码包单位即蓝牙音频解码缓冲区对应的音频解码包单位,例如,一个蓝牙音频解码包单位为一个未解码的音频编码包(即如图5所示的未解码音频包)有P字节。第三采样率即蓝牙音频解码缓冲区对应的对应的采样率,第三采样率即一秒钟的未解码的音频编码包的采样数,例如,44100。第三缓冲大小即蓝牙音频解码缓冲区对应的缓冲大小,例如,第三缓冲大小为s个蓝牙音频解码包单位(例如图5所示的s个未解码音频包)。
第三延时时间即蓝牙音频解码缓冲区对应的延时时间,申请人发现基于蓝牙音频解码包单位、第三采样率及第三缓冲大小,按照预定计算方式进行计算处理,可以准确得到第三延时时间来可靠指导对蓝牙音频解码缓冲区的大小调整。
其中,所述基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第三延时时间,包括:将所述蓝牙音频解码包单位除以所述第三采样率,得到第三结果;将所述第三结果乘以所述第三缓冲大小,得到所述第三延时时间。即根据公式4:Delay3=(M3/N3)*n2计算第四延时时间Delay3,其中,M3为蓝牙音频解码包单位,N43为第三采样率,第三结果即M3/N3,n2为第三缓冲大小。
其中,判断所述第三延时时间是否满足第三延迟条件,包括:若第三延时时间大于第三阈值,则第三延时时间满足第三延迟条件;若第三延时时间不大于第三阈值,则第三延时时间不满足第三延迟条件。
步骤S414,减少M3,和/或,提高N3。即,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小,包括:通过减少于蓝牙音频解码包单位M3,降低所述蓝牙音频解码缓冲区的大小,和/或,通过提高第三采样率N3,降低所述蓝牙音频解码缓冲区的大小。
步骤S415,经过蓝牙音频解码缓冲区后的音频编码包,由音频解码器(如图5所示的解码器)执行解码操作,解码还原成为音频解码数据。
步骤S416,音频数据缓冲,音频解码数据在发送至播放器进行播放之前,缓冲在如图5所示的蓝牙音频接收缓冲区。
步骤S417,判断Delay4=(M4/N4)*s2是否满足?即,计算蓝牙音频接收缓冲区的第四延时时间Delay4,判断所述第四延时时间是否满足第四延迟条件。
其中,计算蓝牙音频接收缓冲区的第四延时时间,包括:获取所述蓝牙音频接收缓冲区对应的接收解码单位、第四采样率及第四缓冲大小;基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间。
参阅图5,接收解码单位即蓝牙音频接收缓冲区对应的音频解码单位,例如,一个音频解码单位(即图5所示的已解码单位)为M个采样数据(即采样的音频解码数据)。第四采样率即蓝牙音频接收缓冲区对应的采样率,第四采样率为一秒钟的音频解码数据的采样数,例如,44100。第四缓冲大小即蓝牙音频接收缓冲区对应的缓冲大小,例如,第四缓冲大小为n个音频解码单位(例如图5所示的n个已解码单位)。
其中,所述基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间,包括:将所述接收解码单位除以所述第四采样率,得到第四结果;将所述第四结果乘以所述第四缓冲大小,得到所述第四延时时间。即按照公式3:Delay4=(M4/N4)*s2计算第四延时时间Delay3,其中,M4为接收解码单位,N4为第四采样率,第四结果即M4/N4,s2为第四缓冲大小。
其中,判断所述第四延时时间是否满足第四延迟条件,包括:若第四延时时间大于第四阈值,则第四延时时间满足第四延迟条件;若第四延时时间不大于第四阈值,则第四延时时间不满足第四延迟条件。
步骤S418,减少M4,和/或,提高N4,即,若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,包括:通过减少接收解码单位M4,降低所述蓝牙音频接收缓冲区的大小,和/或,提高第四采样率N4,降低所述蓝牙音频接收缓冲区的大小。
步骤S419,输出“音频数据”,即从蓝牙音频接收缓冲区输出音频解码数据(如图5所示的Samples(M)Data)。
步骤S420,音频解码数据发送到音频播放器播放,完成音频从发送端到接收端播放的全链路传输。
以这种方式,该场景下,通过应用本申请的前述实施例,至少具有如下有益效果:在发送端有效对音频传输时延进行动态控制的基础上,接收端进一步有效对接收端的音频传输时延进行动态控制。进而,实现发送端发送音频到接收端接收并播放音频的全链路的音频传输时延的有效动态控制。进一步,整体上有效提升蓝牙音频传输过程中时延控制可靠性及控制效果,提升音频传输效率,提升用户蓝牙设备使用体验。
为便于更好的实施本申请实施例提供的音频传输方法,本申请实施例还提供一种基于上述音频传输方法的音频传输装置。其中名词的含义与上述音频传输方法中相同,具体实现细节可以参考方法实施例中的说明。图7示出了根据本申请的一个实施例的音频传输装置的框图。图8示出了根据本申请的另一个实施例的音频传输装置的框图。
如图7所示,音频传输装置500,可以应用于发送端,音频传输装置500中可以包括:发送端计算模块510、发送端判断模块520、发送端调整模块530。
发送端计算模块,用于在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;发送端判断模块,用于判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;发送端调整模块,用于若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
在本申请的一些实施例中,所述发送端计算模块包括第一发送端计算单元,用于:获取所述蓝牙音频编码缓冲区对应的蓝牙音频编码单位、第一采样率及第一缓冲大小;基于所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间。
在本申请的一些实施例中,所述第一发送端计算单元,用于:将所述蓝牙音频编码单位除以所述第一采样率,得到第一结果;将所述第一结果乘以所述第一缓冲大小,得到所述第一延时时间。
在本申请的一些实施例中,所述发送端计算模块包括第二发送端计算单元,用于:获取所述蓝牙音频发送缓冲区对应的发送编码包单位、第二采样率及第二缓冲大小;基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间。
在本申请的一些实施例中,所述第二发送端计算单元,用于:将所述发送编码包单位除以所述第二采样率,得到第二结果;将所述第二结果乘以所述第二缓冲大小,得到所述第二延时时间。
如图8所示,音频传输装置600可以应用于接收端,音频传输装置600中可以包括:接收端计算模块610、接收端判断模块620、接收端调整模块630。
接收端计算模块,用于在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;接收端判断模块,用于判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;接收端调整模块,用于若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
在本申请的一些实施例中,所述接收端计算模块包括第一接收端计算单元,用于:获取所述蓝牙音频接收缓冲区对应的接收解码单位、第四采样率及第四缓冲大小;基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间。
在本申请的一些实施例中,所述第一接收端计算单元,用于:将所述接收解码单位除以所述第四采样率,得到第四结果;将所述第四结果乘以所述第四缓冲大小,得到所述第四延时时间。
在本申请的一些实施例中,所述接收端计算模块包括第二接收端计算单元,用于:获取所述蓝牙音频解码缓冲区对应的蓝牙音频解码包单位、第三采样率及第三缓冲大小;基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第四延时时间。
在本申请的一些实施例中,所第二接收端计算单元,用于:将所述蓝牙音频解码包单位除以所述第三采样率,得到第三结果;将所述第三结果乘以所述第三缓冲大小,得到所述第三延时时间。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,本申请实施例还提供一种电子设备,该电子设备可以为终端或者服务器,如图9所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该电子设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
电子设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器701会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的计算机程序,从而实现本申请前述实施例中各种功能。
如处理器701可以执行下述步骤:在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
又如处理器701可以执行下述步骤:在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的实施例,而可以在不脱离其范围的情况下进行各种修改和改变。
Claims (12)
1.一种音频传输方法,其特征在于,所述方法包括:
在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;
判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;
若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
2.根据权利要求1所述的方法,其特征在于,所述计算蓝牙音频编码缓冲区的第一延时时间,包括:
获取所述蓝牙音频编码缓冲区对应的蓝牙音频编码单位、第一采样率及第一缓冲大小;
基于所述蓝牙音频编码单位、第一采样率及第一缓冲大小进行计算处理,得到所述第一延时时间。
3.根据权利要求1所述的方法,其特征在于,所述计算蓝牙音频发送缓冲区的第二延时时间,包括:
获取所述蓝牙音频发送缓冲区对应的发送编码包单位、第二采样率及第二缓冲大小;
基于所述发送编码包单位、第二采样率及第二缓冲大小进行计算处理,得到所述第二延时时间。
4.一种音频传输方法,其特征在于,所述方法包括:
在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;
判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;
若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
5.根据权利要求4所述的方法,其特征在于,所述计算蓝牙音频接收缓冲区的第四延时时间,包括:
获取所述蓝牙音频接收缓冲区对应的接收解码单位、第四采样率及第四缓冲大小;
基于所述接收解码单位、第四采样率及第四缓冲大小进行计算处理,得到所述第四延时时间。
6.根据权利要求4所述的方法,其特征在于,所述计算蓝牙音频解码缓冲区的第三延时时间,包括:
获取所述蓝牙音频解码缓冲区对应的蓝牙音频解码包单位、第三采样率及第三缓冲大小;
基于所述蓝牙音频解码包单位、第三采样率及第三缓冲大小进行计算处理,得到所述第四延时时间。
7.一种音频传输装置,其特征在于,所述装置包括:
发送端计算模块,用于在向接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;
发送端判断模块,用于判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;
发送端调整模块,用于若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小。
8.一种音频传输装置,其特征在于,所述装置包括:
接收端计算模块,用于在接收发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;
接收端判断模块,用于判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;
接收端调整模块,用于若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
9.一种音频传输系统,其特征在于,包括发送端和接收端,其中:
所述发送端,用于在向所述接收端通过蓝牙发送音频数据的过程中,计算蓝牙音频编码缓冲区的第一延时时间,以及计算蓝牙音频发送缓冲区的第二延时时间;判断所述第一延时时间是否满足第一延迟条件;以及判断所述第二延时时间是否满足第二延迟条件;若所述第一延迟条件满足,则降低所述蓝牙音频编码缓冲区的大小,以及,若所述第二延迟条件满足,则降低所述蓝牙音频发送缓冲区的大小;
所述接收端,用于在接收所述发送端发送的音频数据的过程中,计算蓝牙音频接收缓冲区的第四延时时间,以及计算蓝牙音频解码缓冲区的第三延时时间;判断所述第四延时时间是否满足第四延迟条件;以及判断所述第三延时时间是否满足第三延迟条件;若所述第四延迟条件满足,则降低所述蓝牙音频接收缓冲区的大小,以及,若所述第三延迟条件满足,则降低所述蓝牙音频解码缓冲区的大小。
10.一种存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至3任一项所述的方法;或者,
当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求4至6任一项所述的方法。
11.一种电子设备,其特征在于,包括:存储器,存储有计算机程序;以及处理器;
所述处理器,用于读取所述存储器存储的计算机程序,以执行权利要求1至3任一项所述的方法;或者,
所述处理器,用于读取存储器存储的计算机程序,以执行权利要求4至6任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至3任一项的方法;或者,所述计算机程序被处理器执行时实现权利要求4至6任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215218.XA CN117176203A (zh) | 2022-09-30 | 2022-09-30 | 音频传输方法、装置、存储介质、电子设备及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215218.XA CN117176203A (zh) | 2022-09-30 | 2022-09-30 | 音频传输方法、装置、存储介质、电子设备及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176203A true CN117176203A (zh) | 2023-12-05 |
Family
ID=88945632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215218.XA Pending CN117176203A (zh) | 2022-09-30 | 2022-09-30 | 音频传输方法、装置、存储介质、电子设备及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176203A (zh) |
-
2022
- 2022-09-30 CN CN202211215218.XA patent/CN117176203A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11355130B2 (en) | Audio coding and decoding methods and devices, and audio coding and decoding system | |
US8594184B2 (en) | Method and apparatus for controlling video-audio data playing | |
CN107396171A (zh) | 网络直播方法、装置和存储介质 | |
CN110022498B (zh) | 一种实现码率切换的方法及装置 | |
CN113490055B (zh) | 数据处理方法和装置 | |
CN109144463A (zh) | 传输控制方法、装置以及电子设备 | |
CN112788494A (zh) | 耳机控制方法、装置、设备及介质 | |
CN104581340B (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
CN109495776B (zh) | 一种音频发送、播放的方法及智能终端 | |
CN111617466A (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
CN112423074B (zh) | 音视频同步处理方法、装置、电子设备及存储介质 | |
CN111352605A (zh) | 一种音频播放、发送的方法及装置 | |
CN107979482B (zh) | 一种信息处理方法、装置、发送端、去抖动端、接收端 | |
CN108616767B (zh) | 一种音频数据传输方法及装置 | |
CN117176203A (zh) | 音频传输方法、装置、存储介质、电子设备及产品 | |
US8976758B2 (en) | Wireless communication system and method for adjusting used depth of buffer unit in wireless communication system | |
CN113035206B (zh) | 信号处理装置、信号处理方法、程序和计算机可读介质 | |
JP2004354677A (ja) | 情報処理装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、および、再生装置 | |
US9806967B2 (en) | Communication device and data processing method | |
CN114416013A (zh) | 数据发送方法、装置、电子设备及计算机可读存储介质 | |
CN107087210A (zh) | 基于缓存时间判断视频播放状态的方法及终端 | |
CN113518014A (zh) | 一种数据传输方法以及通信设备 | |
CN111355996A (zh) | 一种音频播放方法及计算设备 | |
CN112511406B (zh) | 即时通讯软件的语音播放方法和系统 | |
JP2012060524A (ja) | 再生装置、再生方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |