System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种音频数据处理方法、电子设备及介质技术_技高网

一种音频数据处理方法、电子设备及介质技术

技术编号:40676176 阅读:6 留言:0更新日期:2024-03-18 19:14
本申请涉及数据处理技术领域,公开了一种音频数据处理方法、电子设备及介质。方法包括:硬件抽象层的各处理通路在接收到应用程序框架层的音频轨模块发送的当前音频数据时,可以首先计算写入当前数据的所需时间,各处理通路后续在检测到存在处理通路写入失败或者是写入超时等任意传输失败的情况下,均在达到写入当前数据的所需时间时向音频轨模块发送下一数据的获取请求,以便于音频轨模块在接收到获取请求后,将下一数据同步下发至各处理通路,有效避免音频数据的输出出现杂音。

【技术实现步骤摘要】

本申请涉及数据处理,特别涉及一种音频数据处理方法、电子设备及介质


技术介绍

1、手机、平板等电子设备在播放音频时,会经常出现多路音频数据输出的场景,其中,在多路音频数据输出的过程中,电子设备会将音频数据同时送给不同的处理通路,以便通过不同的处理通路进行数据的同步处理并输出。例如,如图1a所示,手机、平板等电子设备的操作系统可以包括应用程序框架层、硬件抽象层和内核层。其中,应用程序框架层可以包括用于发送音频数据的音频轨(audio track)模块;硬件抽象层可以包括多个处理通路,例如,主通路(primary)模块、蓝牙通路(audio bt)模块以及远程混合通路(remotesubmix)模块等,各处理通路可以用于接收应用程序框架层的音频轨模块发送的音频数据;内核层的处理模块可以基于对处理通路发送的音频数据进行处理并输出。

2、如图1b所示,在手机10连接蓝牙耳机20时,若用户收到来电,此时手机10的应用程序框架层的音频轨模块可以分别通过硬件抽象层的主通路模块和蓝牙通路模块将音频数据分别写入内核层的处理模块,以使得内核层的处理模块进行数据处理,并同步输出音频数据,如此可以实现手机扬声器和蓝牙耳机同时响铃。例如,在手机等电子设备进行音乐播放并同时进行录屏的场景中,电子设备的应用程序框架层的音频轨模块可以分别通过硬件抽象层的主通路模块和远程混合通路模块将音频数据分别写入内核层的处理模块,以使得内核层的处理模块进行数据处理并同步输出音频数据,以实现在音乐播放的同时进行录屏。

3、但是在多路音频数据输出的过程中,若其中任一路音频数据出现传输失败,例如电子设备出现故障等情况导致其中一路音频数据写入内核层超时或者写入内核层失败的情况,将会导致正常输出的其余路音频数据也出现杂音。


技术实现思路

1、为了解决上述问题,本申请提供一种音频数据处理方法、电子设备及介质。

2、第一方面,本申请实施例提供了一种音频数据处理方法,应用于电子设备,电子设备包括音频轨模块、多个音频数据处理通路和处理模块;方法包括:多个音频数据处理通路在第一时刻分别向处理模块传输第一音频数据,其中,多个音频数据处理通路向处理模块写入第一音频数据的设定时长为第一时长;多个音频数据处理通路中的第一音频数据处理通路在向处理模块传输第一音频数据的过程中出现传输异常,传输异常包括将第一音频数据写入处理模块失败或者写入处理模块超时;第一音频数据处理通路在第二时刻向音频轨模块发送第二音频数据的获取请求,其中,第二时刻和第一时刻间隔第一时长;

3、音频轨模块在接收到获取请求后,在第三时刻分别向多个音频数据处理通路发送第二音频数据。

4、基于上述方案,各处理通路(即音频数据处理通路)后续在检测到存在处理通路写入失败或者是写入超时等任意传输失败的情况下,均在达到写入当前数据(即第一音频数据)的所需时间时向音频轨模块发送下一数据(即第二音频数据)的获取请求,以便于音频轨模块在接收到获取请求后,将下一数据同步下发至各处理通路。如此,可以避免前述写入失败时,造成的传输正常的通路的下一笔数据发送时间提前,前一笔数据被覆盖的问题发生;以及可以有效避免前述写入超时过程中,由于减慢向正常传输通路的数据发送速度,导致数据输出不平稳的问题,有效避免音频数据的输出出现杂音。

5、可以理解,本申请中,电子设备可以包括应用程序框架层、硬件抽象层和内核层;应用程序框架层包括音频轨模块;硬件抽象层包括多个音频数据处理通路;内核层包括处理模块。

6、在一种可能的实现中,方法包括:音频轨模块分别向多个音频数据处理通路传输第一音频数据;多个音频数据处理通路在接收到第一音频数据时,获取第一时长。

7、本申请中,多个音频数据处理通路在接收到第一音频数据后,可以首先计算第一音频数据写入内核层的处理模块的所需时间,便于各处理通路(即音频数据处理通路)后续在检测到存在处理通路写入失败或者是写入超时等任意传输失败的情况下,均在达到写入当前数据(即第一音频数据)的所需时间时向音频轨模块发送下一数据(即第二音频数据)的获取请求,有效避免音频数据的输出出现杂音。

8、在一种可能的实现中,方法包括:在多个音频数据处理通路中的第一音频数据处理通路在向处理模块传输第一音频数据的过程中,若检测到达到第二时刻时,第一音频数据未完全写入处理模块,确定第一音频数据写入处理模块超时。

9、可以理解,到达第二时刻时,第一音频数据未完全写入处理模块可以确定第一音频数据写入超时,此时可以停止第一音频数据的写入,向音频轨模块发送下一数据(即第二音频数据)的获取请求,有效避免其他通路的音频数据的输出出现杂音。

10、在一种可能的实现中,方法还包括:在多个音频数据处理通路中的第一音频数据处理通路向处理模块传输第一音频数据的开始时刻,启动定时器,定时器的定时时长为第一时长;在定时器结束后,若第一音频数据未完全写入处理模块,确定第一音频数据写入处理模块超时。

11、本申请中,可以通过启动定时器的方式计算音频数据的传输消耗时长,以便精确计算时长,从而精确控制向音频轨模块发送下一数据(即第二音频数据)获取请求的时间,进而能够实现各音频数据处理通路向处理模块同步发送下一数据的时间,保证音频数据的同步输出。

12、在一种可能的实现中,方法包括:当确定第一音频数据写入处理模块超时,停止将第一音频数据写入处理模块。

13、在一种可能的实现中,方法包括:在多个音频数据处理通路中的第一音频数据处理通路在向处理模块传输第一音频数据的过程中,若未达到第二时刻时,第一音频数据停止写入,确定第一音频数据写入处理模块失败。

14、在一种可能的实现中,电子设备包括应用程序框架层、硬件抽象层和内核层;应用程序框架层包括音频轨模块;硬件抽象层包括多个音频数据处理通路;内核层包括处理模块。

15、在一种可能的实现中,多个数据处理通路包括主通路模块、蓝牙通路模块和远程混合通路模块中的至少两个。

16、第二方面,本申请提供一种电子设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得电子设备执行本申请提及的音频数据处理方法。

17、第三方面,本申请提供一种计算机可读存储介质,存储有计算机程序,计算机程序用于使得电子设备执行本申请提及的音频数据处理方法。

本文档来自技高网...

【技术保护点】

1.一种音频数据处理方法,其特征在于,应用于电子设备,所述电子设备包括音频轨模块、多个音频数据处理通路和处理模块;

2.根据权利要求1所述的方法,其特征在于,所述方法包括:所述音频轨模块分别向所述多个音频数据处理通路传输所述第一音频数据;

3.根据权利要求1所述的方法,其特征在于,所述方法包括:

4.根据权利要求1所述的方法,其特征在于,所述方法包括:

5.根据权利要求3或4所述的方法,其特征在于,所述方法包括:

6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法包括:

7.根据权利要求1-6任一项所述的方法,其特征在于,所述电子设备包括应用程序框架层、硬件抽象层和内核层;

8.根据权利要求1-7任一项所述的方法,其特征在于,所述多个数据处理通路包括主通路模块、蓝牙通路模块和远程混合通路模块中的至少两个。

9.一种电子设备,其特征在于,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用所述存储器中的所述程序指令使得所述电子设备执行权利要求1-8任一项所述的方法。p>

10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序用于使得电子设备执行权利要求1-8任一项所述的方法。

...

【技术特征摘要】

1.一种音频数据处理方法,其特征在于,应用于电子设备,所述电子设备包括音频轨模块、多个音频数据处理通路和处理模块;

2.根据权利要求1所述的方法,其特征在于,所述方法包括:所述音频轨模块分别向所述多个音频数据处理通路传输所述第一音频数据;

3.根据权利要求1所述的方法,其特征在于,所述方法包括:

4.根据权利要求1所述的方法,其特征在于,所述方法包括:

5.根据权利要求3或4所述的方法,其特征在于,所述方法包括:

6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法包括:

7.根据...

【专利技术属性】
技术研发人员:邱海斌
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1