技术新讯 > 信息存储应用技术 > 音频流处理方法、装置、计算机设备及存储介质与流程  >  正文

音频流处理方法、装置、计算机设备及存储介质与流程

  • 国知局
  • 2024-09-14 14:26:22

本申请涉及音频处理,尤其涉及一种音频流处理方法、装置、计算机设备及存储介质。

背景技术:

1、在对多音源的音频流数据进行处理时,要求输入源与输出源的数据传输为等时传输(即输入速度与输出速度相同),一般需要在音源内设置采样一致的数字信号时钟才能满足等时传输的要求,不然在音频播放的过程中可能会因为数据不同步而导致播放出现卡顿或者pop音,然而在多个音源内设置数字信号时钟不仅对硬件有较高的设计与成本要求,在切换不同音频输入源时也会出现明显的停顿,给用户的使用带来麻烦。

技术实现思路

1、本申请实施例的目的在于提出一种音频流处理方法、装置、计算机设备及存储介质,以解决在不同时钟下的多音频播放出现卡顿或pop音过多,且无法进行无缝切换的问题。

2、为了解决上述技术问题,本申请实施例提供一种音频流处理方法,采用了如下所述的技术方案:

3、创建分别与输入源和输出源对应的输入缓存区及输出缓存区;

4、检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内;

5、从所述输入缓存区内读取音频数据至数据处理模块进行数据处理,并将处理后的音频数据写入所述输出缓存区内;及

6、检测所述输出源激活状态,当输出源激活时,将所述输出缓存区内的音频数据写入所述输出源中进行音频输出。

7、进一步的,所述检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内的步骤具体包括:

8、定时检测所述输入源是否激活;

9、若激活,则获取输入缓存区状态信息;

10、根据所述输入缓存区状态信息,确定所述输入缓存区内是否存在满足预设数据大小的缓存空间;

11、若存在,则将音频数据写入至所述输入缓存区内;及

12、若不存在,则停止写入并对当前采样周期的音频数据进行丢弃。

13、进一步的,所述检测所述输入源激活状态的步骤之后,所述方法还包括:

14、当检测到输入源未激活时,判断未激活时间是否大于第一预设阈值;

15、若大于,则清空与所述输入源对应的输入缓存区并进入空闲状态。

16、进一步的,所述检测输出源激活状态,当输出源激活时,将所述输出缓存区内的音频数据写入所述输出源中进行音频输出的步骤具体包括:

17、定时检测所述输出源是否激活;

18、若激活,则获取输出缓存区状态信息;

19、根据所述输出缓存区状态信息,确定所述输出缓存区内是否存在音频数据;

20、若存在,则将音频数据写入至所述输出源内;及

21、若不存在,则将上一采样周期的音频数据重复写入至所述输出源内。

22、进一步的,所述检测输出源激活状态的步骤之后,所述方法还包括:

23、当检测到输出源未激活时,判断未激活时间是否大于第二预设阈值;

24、若大于,则清空与所述输出源对应的输出缓存区并进入空闲状态。

25、进一步的,所述检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内之后还包括以下步骤:

26、获取数据处理模块状态信息,并根据所述数据处理模块状态信息,确定所述数据处理模块内是否存在满足预设数据大小的缓存空间;

27、若存在,则通知所述数据处理模块对输入缓存区内的音频数据进行读取;及

28、若不存在,则停止写入并对当前采样周期的音频数据进行丢弃。

29、进一步的,所述从所述输入缓存区内读取音频数据至数据处理模块进行数据处理,并将处理后的音频数据写入所述输出缓存区内的步骤具体包括:

30、读取所述输入缓存区内的音频数据进行数据处理;

31、获取数据处理模块状态信息,并根据所述数据处理模块状态信息,确定所述数据处理模块内是否存在可读取的音频数据;

32、若存在,则将所述数据处理模块的音频数据写入对应的输出缓存区内进行缓存;及

33、若不存在,则对所述数据处理模块进行刷新并重新检测。

34、为了解决上述技术问题,本申请实施例还提供一种音频流处理装置,包括:

35、关联创建模块,用于创建分别与输入源和输出源对应的输入缓存区及输出缓存区;

36、数据输入模块,用于检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内;

37、数据处理模块,用于从所述输入缓存区内读取音频数据进行数据处理,并将处理后的音频数据写入所述输出缓存区内;及

38、数据输出模块,用于检测所述输出源激活状态,当输出源激活时,将所述输出缓存区内的音频数据写入所述输出源中进行音频输出。

39、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

40、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述的音频流处理方法的步骤。

41、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

42、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述音频流处理方法的步骤。

43、与现有技术相比,本申请实施例主要有以下有益效果:

44、本申请实施例所述音频流处理方法,通过创建分别与输入源和输出源对应的输入缓存区及输出缓存区,能够使输入源采集的音频数据能够进行持续不断地传输,避免音频数据在传输的过程中由于输入源的内存过满而发生复位或输出源内存为空而发生欠载的情况,从而有效减少在不同时钟下的多音频播放出现卡顿或pop音的情况,同时能够在不同的输入源与输出源之间进行无缝切换。

技术特征:

1.一种音频流处理方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的音频流处理控制方法,其特征在于,所述检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内的步骤具体包括:

3.根据权利要求2所述的音频流处理控制方法,其特征在于,所述检测所述输入源激活状态的步骤之后,所述方法还包括:

4.根据权利要求1所述的音频流处理控制方法,其特征在于,所述检测输出源激活状态,当输出源激活时,将所述输出缓存区内的音频数据写入所述输出源中进行音频输出的步骤具体包括:

5.根据权利要求4所述的音频流处理控制方法,其特征在于,所述检测输出源激活状态的步骤之后,所述方法还包括:

6.根据权利要求1所述的音频流处理控制方法,其特征在于,所述检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内之后还包括以下步骤:

7.根据权利要求1所述的音频流处理控制方法,其特征在于,所述从所述输入缓存区内读取音频数据至数据处理模块进行数据处理,并将处理后的音频数据写入所述输出缓存区内的步骤具体包括:

8.一种音频流处理装置,其特征在于,包括:

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的音频流处理方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的音频流处理方法的步骤。

技术总结本申请实施例属于音频处理技术领域,涉及一种音频流处理方法,包括:创建分别与输入源和输出源对应的输入缓存区及输出缓存区;检测所述输入源激活状态,当输入源激活时,将所述输入源采集的音频数据缓存到所述输入缓存区内;从所述输入缓存区内读取音频数据至数据处理模块进行数据处理,并将处理后的音频数据写入所述输出缓存区内;及检测所述输出源激活状态,当输出源激活时,将所述输出缓存区内的音频数据写入所述输出源中进行音频输出。本申请还提供一种音频流处理的控制装置、计算机设备及存储介质。本申请能够有效减少在不同时钟下的多音频播放出现卡顿或POP音过多的情况,实现在音频播放时不同输入源的无缝切换。技术研发人员:江壮伟,李玲受保护的技术使用者:深圳市三诺数字科技有限公司技术研发日:技术公布日:2024/9/12

本文地址:https://www.jishuxx.com/zhuanli/20240914/294071.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。