1.一种语音电话回音消除方法,其特征在于:
获取用户预设的延迟帧数,以及音频播放和音频录制中音频帧占用内存的位置大小;
在内存中申请用于存储播放音频数据第一空间,定义所述第一空间中用于存放播放音频数据的位置,所述存放播放音频数据的位置默认值为所述延迟帧数与音频帧占用内存的位置大小之乘积;
当音频播放线程需要获取播放音频数据时,调用音频播放函数将当前播放音频数据存放于所述存放播放音频数据的位置的开始之处;
当音频录制线程产生音频采集数据时,调用音频录制函数从所述第一空间的开始位置获取一个音频帧占用内存的位置大小的播放音频数据作为回声参考数据;
调用回声消除函数使用所述回声参考数据进行回声消除。
2.如权利要求1所述的一种语音电话回音消除方法,其特征在于:
当音频播放线程需要获取播放音频数据时,将当前播放音频数据存放于所述存放播放音频数据的位置的开始之处包括:
通过音频播放函数将播放音频数据复制到所述第一空间中,存放在所述存放播放音频数据的位置处,并将所述存放播放音频数据的位置的开始之处增加一个音频帧占用内存的位置大小;若所述存放播放音频数据的位置<所述延迟帧数与音频帧占用内存的位置大小之乘积,则重复将播放音频数据复制到所述第一空间中,直至所述存放播放音频数据的位置的开始之处为所述延迟帧数与音频帧占用内存的位置大小之乘积。
3.如权利要求1所述的一种语音电话回音消除方法,其特征在于:调用音频录制函数从所述第一空间的开始位置获取一个音频帧占用内存的位置大小的播放音频数据作为回声参考数据后,将所述第一空间中从一个音频帧占用内存的位置大小开始到所述延迟帧数与音频帧占用内存的位置大小之乘积结束的所有播放音频数据复制到所述第一空间的开始位置,同时将所述存放播放音频数据的位置的开始之处减去一个音频帧占用内存的位置大小。
4.如权利要求1所述的一种语音电话回音消除方法,其特征在于:当音频播放线程需要获取音频数据时,若所述存放播放音频数据的位置大于等于所述第一空间的大小或所述存放播放音频数据的位置<(延迟帧数-1)乘以音频帧占用内存的位置大小时,重置所述第一空间。
5.如权利要求1所述的一种语音电话回音消除方法,其特征在于:当音频录制线程产生音频采集数据时,若所述第一空间中没有播放音频数据,重置所述第一空间。
6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。
7.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1至5任一项所述的方法。
8.一种语音电话回音消除系统,其特征在于,包括:
参数获取模块,其用于获取用户预设的延迟帧数,以及音频播放和音频录制中音频帧占用内存的位置大小;
内存空间设置模块,其用于在内存中申请用于存储播放音频数据第一空间,定义所述第一空间中用于存放播放音频数据的位置,所述存放播放音频数据的位置默认值为所述延迟帧数与音频帧占用内存的位置大小之乘积;
数据存放模块,其用于当音频播放线程需要获取播放音频数据时,调用音频播放函数将当前播放音频数据存放于所述存放播放音频数据的位置的开始之处;
数据获取模块,其用于当音频录制线程产生音频采集数据时,调用音频录制函数从所述第一空间的开始位置获取一个音频帧占用内存的位置大小的播放音频数据作为回声参考数据;
回声消除模块,其用于调用回声消除函数使用所述回声参考数据进行回声消除。
9.如权利要求8所述的一种语音电话回音消除系统,其特征在于:
所述数据存放模块用于通过音频播放函数将播放音频数据复制到所述第一空间中,存放在所述存放播放音频数据的位置处,并将所述存放播放音频数据的位置的开始之处增加一个音频帧占用内存的位置大小;若所述存放播放音频数据的位置<所述延迟帧数与音频帧占用内存的位置大小之乘积,则重复将播放音频数据复制到所述第一空间中,直至所述存放播放音频数据的位置的开始之处为所述延迟帧数与音频帧占用内存的位置大小之乘积。
10.如权利要求8所述的一种语音电话回音消除系统,其特征在于:
所述数据获取模块用于调用音频录制函数从所述第一空间的开始位置获取一个音频帧占用内存的位置大小的播放音频数据作为回声参考数据后,将所述第一空间中从一个音频帧占用内存的位置大小开始到所述延迟帧数与音频帧占用内存的位置大小之乘积结束的所有播放音频数据复制到所述第一空间的开始位置,同时将所述存放播放音频数据的位置的开始之处减去一个音频帧占用内存的位置大小。