一种实时通话中的音频处理方法、电子设备和存储介质技术

技术编号:33329503 阅读:25 留言:0更新日期:2022-05-08 09:09
本申请公开了一种实时通话中的音频处理方法、电子设备和存储介质,该方法包括:响应于网络接收模块和声卡初始化完成,将网络接收模块中缓存的音频丢弃;控制网络接收模块接收用户的音频并将用户的音频传输至音频缓冲区;获取声卡在周期性读取音频缓冲区中的音频样本时的预设长度;根据预设长度和当前音频缓冲区中的音频样本长度的大小关系,对音频缓冲区的长度进行适应性调整,以使得声卡以预设长度从音频缓冲区中读取音频样本。通过上述方式,本申请能够降低实时通话的音频延迟并提高实时通话的音频质量。通话的音频质量。通话的音频质量。

【技术实现步骤摘要】
一种实时通话中的音频处理方法、电子设备和存储介质


[0001]本申请涉及通信
,特别是涉及一种实时通话中的音频处理方法、电子设备和存储介质。

技术介绍

[0002]由于无线网络和移动网络的普及,通过无线网络或移动网络进行实时语音通话在生活中已经得到普遍应用。但在通过网络进行实时通话时,由于网络传输的延迟以及网络的波动性,实时通话的过程中音频的传输极易产生延迟并且音频的质量较差,影响用户的通话体验。

技术实现思路

[0003]本申请主要解决的技术问题是提供一种实时通话中的音频处理方法、电子设备和存储介质,能够将初始化阶段网络接收模块中的早期音频丢弃,并根据声卡读取音频样本的预设长度和音频缓冲区中的音频样本长度,对音频缓冲区的长度进行调整。
[0004]为解决上述技术问题,本申请第一方面提供一种实时通话中的音频处理方法,该方法包括:响应于网络接收模块和声卡初始化完成,将所述网络接收模块中缓存的音频丢弃;控制所述网络接收模块接收用户的音频并将所述用户的音频传输至音频缓冲区;获取所述声卡在周期性读取所述音频缓冲区中的音频样本时的预设长度;根据所述预设长度和当前所述音频缓冲区中的音频样本长度的大小关系,对所述音频缓冲区的长度进行适应性调整,以使得所述声卡以所述预设长度从所述音频缓冲区中读取所述音频样本。
[0005]其中,所述根据所述预设长度和当前所述音频缓冲区中的音频样本长度的大小关系,对所述音频缓冲区的长度进行适应性调整的步骤,包括:判断所述音频样本长度是否小于所述预设长度;若是,则为所述音频缓冲区增加长度增量,且控制所述声卡在当前周期内播放和所述预设长度相等的静音数据;否则,进一步判断所述音频样本长度是否大于所述长度增量和所述预设长度之和;若是,则将所述音频缓冲区中时间节点较早的部分音频样本移除,以使所述音频缓冲区中的音频样本长度为所述长度增量和所述预设长度之和;否则,控制所述声卡从所述音频缓冲区中读取所述预设长度的音频。
[0006]其中,所述控制所述声卡在当前周期内播放和所述预设长度相等的静音数据的步骤,包括:控制所述声卡在当前周期内播放和所述预设长度相等的静音数据时,对所述静音数据加快播放。
[0007]其中,所述长度增量的初始值为0,所述为所述音频缓冲区增加长度增量的步骤,包括为所述音频缓冲区增加与所述预设长度相等的所述长度增量。
[0008]其中,所述将所述音频缓冲区中时间节点较早的部分音频样本移除,以使所述音频缓冲区中的音频样本长度为所述长度增量和所述预设长度之和的步骤之后,还包括:当所述音频样本长度大于所述长度增量和所述预设长度之和且所述长度增量大于0时,将所述长度增量减去所述预设长度获得新的长度增量并为所述音频缓冲区更新所述新的长度
增量。
[0009]其中,所述长度增量小于等于第一阈值倍的所述预设长度。
[0010]其中,所述音频缓冲区按照先入先出的原则存储音频样本,所述将所述音频缓冲区中时间节点较早的部分音频样本移除的步骤包括:将长度为所述音频样本长度减去所述长度增量和所述预设长度之和获得的差值,且先进入所述音频缓冲区的音频样本从所述音频缓冲区中移除。
[0011]其中,所述方法还包括:读取所述声卡的参数信息,根据所述参数信息为所述声卡设置读取所述音频样本的预设长度并配置所述声卡的采样率。
[0012]为解决上述技术问题,本申请第二方面提供一种电子设备,该电子设备包括相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面的实时通话中的音频处理方法。
[0013]为解决上述技术问题,本申请第三方面提供一种计算机存储介质,该计算机存储介质上存储有程序数据,所述程序数据被处理器执行时实现上述第一方面的实时通话中的音频处理方法。
[0014]本申请的有益效果是:本申请在网络接收模块和声卡初始化完成后,将初始化阶段网络接收模块中缓存的音频丢弃,以避免因初始化阶段缓存的早期音频造成的音频延迟,根据声卡读取音频样本的预设长度和音频缓冲区中的音频样本长度,对音频缓冲区的长度进行调整,以使声卡能稳定地以预设长度从音频缓冲区中读取音频样本,进而降低实时通话的音频延迟并提高音频的质量。
附图说明
[0015]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
[0016]图1是本申请提供的实时通话中的音频处理方法一实施方式的流程示意图;
[0017]图2是本申请提供的实时通话中的音频处理方法另一实施方式的流程示意图;
[0018]图3是本申请提供的电子设备一实施方式的结构示意图;
[0019]图4是本申请提供的计算机存储介质一实施方式的结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
[0022]请参阅图1,图1是本申请提供的实时通话中的音频处理方法一实施方式的流程示意图,该方法包括:
[0023]步骤S101:响应于网络接收模块和声卡初始化完成,将网络接收模块中缓存的音频丢弃。
[0024]具体地,当用户选择接受远端的实时语音通话邀请,声卡和网络接收模块立即进行初始化,其中,声卡包括声卡控制模块、播放装置和录制装置,在对声卡进行初始化时,需要对声卡控制模块进行初始化,声卡控制模块的初始化耗费的时间长于网络接收模块,声卡控制模块初始化的过程大概需要50

200毫秒,在初始化的过程中网络接收模块会收到对端发送的音频数据,将初始化过程中缓存在网络接收模块的网络协议栈中的早期音频读取出来并丢弃,以免初始化过程造成的延迟一直存在音频播放的过程中,进而避免了初始化过程中收到的早期音频对实时通话音频传输造成的延迟。
[0025]步骤S102:控制网络接收模块接收用户的音频并将用户的音频传输至音频缓冲区。
[0026]具体地,当网络接收模块中的早期音频被清空后,控制网络接收模块持续接收用户的音频,进而将用户的音频传输至音频缓冲区。
[0027]具体地,网络接收模块接收用户的音频,进而将用户的音频拷贝至相应的音频本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时通话中的音频处理方法,其特征在于,所述方法包括:响应于网络接收模块和声卡初始化完成,将所述网络接收模块中缓存的音频丢弃;控制所述网络接收模块接收用户的音频并将所述用户的音频传输至音频缓冲区;获取所述声卡在周期性读取所述音频缓冲区中的音频样本时的预设长度;根据所述预设长度和当前所述音频缓冲区中的音频样本长度的大小关系,对所述音频缓冲区的长度进行适应性调整,以使得所述声卡以所述预设长度从所述音频缓冲区中读取所述音频样本。2.根据权利要求1所述的方法,其特征在于,所述根据所述预设长度和当前所述音频缓冲区中的音频样本长度的大小关系,对所述音频缓冲区的长度进行适应性调整的步骤,包括:判断所述音频样本长度是否小于所述预设长度;若是,则为所述音频缓冲区增加长度增量,且控制所述声卡在当前周期内播放和所述预设长度相等的静音数据;否则,进一步判断所述音频样本长度是否大于所述长度增量和所述预设长度之和;若是,则将所述音频缓冲区中时间节点较早的部分音频样本移除,以使所述音频缓冲区中的音频样本长度为所述长度增量和所述预设长度之和;否则,控制所述声卡从所述音频缓冲区中读取所述预设长度的音频。3.根据权利要求2所述的方法,其特征在于,所述控制所述声卡在当前周期内播放和所述预设长度相等的静音数据的步骤,包括:控制所述声卡在当前周期内播放和所述预设长度相等的静音数据时,对所述静音数据加快播放。4.根据权利要求2所述的方法,其特征在于,所述长度增量的初始值为0,所述为所述音频缓冲区增加长度增量的步...

【专利技术属性】
技术研发人员:张兴明
申请(专利权)人:南通京希信息技术有限公司
类型:发明
国别省市:

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

1