API说明【C接口】
API接口
所有API接口定义均位于SDAecAgcAnsProcessSdk.h文件中。
1、系统环境初始化,仅需调用一次
void SD3AProcess_Enviroment_Init(const char * outputPath, int outputLevel);
参数:
@param: outputPath:日志文件输出的目录,若目录不存在将自动创建
@param: outputLevel:日志输出的级别,只有等于或者高于该级别的日志输出到文件
返回值:空
2、环境反初始化,系统只需调用一次
void SD3AProcess_Enviroment_Free();
返回值:空
3、创建SD3AProcess
void* SD3AProcess_New(SD_AEC_METHOD_TYPE eAecMethod);
参数:
@param: eAecMethod: AEC方法,其中AEC定点方法对应AECM,AEC浮点方法对应AEC
返回值:返回模块指针,为NULL则失败
4、销毁SD3AProcess
void SD3AProcess_Delete(void** pp3AProcess);
参数:
@param pp3AProcess: 模块指针
返回值:空
::: caution
使用者应该做好本API与其他API之间的互斥保护
:::
5、开始启动SD3AProcess
BOOL SD3AProcess_Start(void* p3AProcess, int nSampleRate, int nChannelNum, int nAecDelayInitMs, BOOL bEnableAec, BOOL bEnableAgc, BOOL bEnableAns, Output3AProcessedData pfOutput3ACallback, void* pObject);
参数:
@param p3AProcess: 模块指针
@param nSampleRate: 输入待处理数据采样率
@param nChannelNum: 输入待处理数据声道数
@param nAecDelayInitMs: MIC信号与REF扬声器输出信号之间的延时差,将作为内部AEC自动延时估计的初始值。建议通过SD3AProcess_EnableDebugMode接口保存MIC、REF文件后观测得到准确的延时估计初始值有利于自动延时估计尽快收敛
@param bEnableAec: 是否使能AEC
@param bEnableAgc: 是否使能AGC
@param bEnableAns: 是否使能ANS
@param bEnableVad: 是否使能VAD
@param pfOutput3ACallback: 经过3A处理后的音频数据输出回调接口
@param pObject: 上述输出回调接口的透传指针,将通过回调函数形参方式透传外层
返回值:TURE成功,FALSE失败
::: caution
仅支持16bit short音频3A处理
:::
6、停止SD3AProcess
void SD3AProcess_Stop(void* p3AProcess);
参数:
@param p3AProcess: 模块指针
返回值:空
7、存入REF扬声器数据作为AEC处理参考信号
void SD3AProcess_PutRefData(void* p3AProcess, const short *psRefData, int nRefCount);
参数:
@param p3AProcess: 模块指针
@param psRefData: REF扬声器数据
@param nRefCount: REF扬声器数据大小(非字节数,而是psRefData 中 short数据的数目)
返回值:空
8、存入待3A处理的麦克风采集信号
void SD3AProcess_PutMicData(void* p3AProcess, const short *psMicData, int nMicCount);
参数:
@param p3AProcess: 模块指针
@param psMicData: MIC数据
@param nMicCount: MIC数据大小(非字节数,而是psRefData 中 short数据的数目)
返回值:空
9、启用AEC调试模式
BOOL SD3AProcess_EnableDebugMode(void* p3AProcess, const char *pcTempFileSaveDir);
参数:
@param p3AProcess: 模块指针
@param pcTempFileSaveDir: 调试文件存放路径
返回值:TRUE-使能成功, FALSE-使能失败
::: info
启用AEC调试模式此时将生成AEC处理前的Ref信号和Mic信号到指定的路径,便于观察二者延时差
:::
最后修改时间: 2 年前