Windows下极简的AEC AGC ANS封装库

一、Audio3ACapRenderSdk简介


一款极简的音频采集、渲染、3A(AGC AEC ANS)一体处理封装库:
音频3A处理(AEC、AGC、ANS)是实时互动领域无法绕开的问题。其中AEC处理与音频的采集、渲染紧密相关,三者的合理耦合对AEC效果影响很大,这也对开发者提出了更高的要求。为了简化上层业务的工作量,我们将音频采集、渲染、3A处理封装成一体库,对外提供非常易用的接口。该库具备以下特点:
* 1、AEC尽量往底层靠,不受网络传输过程中的抖动、丢包等因素影响。
* 2、基于Webrtc AEC(非AECM、非AEC3)
* 3、支持8KHZ、16KHZ、32KHZ、44.1KHZ、48KHZ,支持单声道、双声道。
* 4、支持AEC自动延时估计。
* 5、仅5个API,仅一个DLL组成,占用空间小,无第三方依赖,集成简易。
* 6、C++开发,支持C、C++、C#,性能强劲

库下载地址:https://github.com/waterfoxfox/Audio3ACapRender

单独3A处理库(不集成采集、渲染):https://github.com/waterfoxfox/Audio3AProcess

 

二、 Audio3ACapRenderSdk C API

 
1、创建SD3ACapRenderProcess对象
@param: outputPath:日志文件输出的目录,若目录不存在将自动创建
@param: outputLevel:日志输出的级别,只有等于或者高于该级别的日志输出到文件
@return: 返回模块指针,为NULL则失败
void*  SD3ACapRenderProcess_New(const char* outputPath, int outputLevel);;



2、销毁SD3ACapRenderProcess对象
@param pp3AProcess: 模块指针指针
@return:
void  SD3ACapRenderProcess_Delete(void** pp3AProcess);



3、开始启动SD3ACapRenderProcess处理,即开始采集和3A处理,并支持渲染播放

建议双向互动时开启AEC\ANS,关闭AGC,以获得最佳AEC效果
@param p3AProcess: 模块指针
@param nCapDeviceID: 采集音频设备ID,-1为默认设备
@param nSampleRate: 输入待处理数据采样率,比如32000、44100
@param nChannelNum: 输入待处理数据声道数,比如2、1
@param bEnableAec: 是否使能AEC
@param bEnableAgc: 是否使能AGC
@param bEnableAns: 是否使能ANS
@param pfOutput3ACallback: 经过3A处理后的音频采集数据输出回调接口
@param pObject: 上述输出回调接口的透传指针
@return: TURE成功,FALSE失败
BOOL  SD3ACapRenderProcess_Start(void* p3AProcess, int nCapDeviceID, int nSampleRate, int nChannelNum, BOOL bEnableAec, BOOL bEnableAgc, BOOL bEnableAns, Output3AProcessedCaptureData pfOutput3ACallback, void* pObject);

 


 4、停止SD3ACapRenderProcess处理
@param p3AProcess: 模块指针
@return: 
void  SD3ACapRenderProcess_Stop(void* p3AProcess);



5、 播放数据,要求采样率、声道数与创建时一致
@param p3AProcess: 模块指针
@param pucData: 待播放数据
@param nLen: 待播放数据大小
@return: 实际播放数据大小
int  SD3ACapRenderProcess_Play(void* p3AProcess, unsigned char *pucData, int nLen);
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值