API说明【windows平台内置采集渲染】
API接口
所有API接口定义均位于SDAudioCapRender3ASdk.h文件中。
1、系统环境初始化,仅需调用一次
void SD3ACapRender_Enviroment_Init(const char * outputPath, int outputLevel);
参数:
@param: outputPath:日志文件输出的目录,若目录不存在将自动创建
@param: outputLevel:日志输出的级别,只有等于或者高于该级别的日志输出到文件
返回值:空
2、环境反初始化,系统只需调用一次
void SD3ACapRender_Enviroment_Free();
返回值:空
3、创建SD3AProcess
void* SD3ACapRender_New();
参数:
返回值:返回模块指针,为NULL则失败
4、销毁SD3AProcess
void SD3ACapRender_Delete(void** pp3AProcess);
参数:
@param pp3AProcess: 模块指针
返回值:空
::: caution
使用者应该做好本API与其他API之间的互斥保护
:::
5、开始启动SD3AProcess
BOOL SD3ACapRender_Start(void* p3AProcess, int nCapDeviceID, int nRenderDeviceID, int nSampleRate, int nChannelNum, BOOL bEnableAec, BOOL bEnableAgc, BOOL bEnableAns, BOOL bEnableVad, Output3AProcessedCaptureData pfOutput3ACallback, void* pObject);
参数:
@param p3AProcess: 模块指针
@param nCapDeviceID: 采集音频设备ID,-1为默认设备
@param nRenderDeviceID: 音频渲染设备ID,-1为默认设备
@param nSampleRate: 音频采集采样率
@param nChannelNum: 音频采集声道数
@param bEnableAec: 是否使能AEC
@param bEnableAgc: 是否使能AGC,多方互动时建议关闭AGC获得更好的AEC效果
@param bEnableAns: 是否使能ANS
@param bEnableVad: 是否使能VAD
@param pfOutput3ACallback: 经过3A处理后的音频采集数据输出回调接口
@param pObject: 上述输出回调接口的透传指针,将通过回调函数形参方式透传外层
返回值:TURE成功,FALSE失败
6、停止SD3AProcess
void SD3ACapRender_Stop(void* p3AProcess);
参数:
@param p3AProcess: 模块指针
返回值:空
7、播放远端过来的音频数据
int SD3ACapRender_Play(void* p3AProcess, unsigned char *pucData, int nLen);
参数:
@param p3AProcess: 模块指针
@param pucData: 待播放数据
@param nLen: 数据大小
返回值:实际输出数据大小
::: caution
远端过来待播放的数据其采样率、声道数应与start时采集采样率、声道数一致
:::
8、枚举当前系统可用的音频采集设备(获取设备ID和设备名称)
int SD3ACapRender_GetAudioInputDeviceList(int *pnDeviceIds, char(*pDeviceNames)[SD_MAX_SUPPORT_AUDIO_DEVICES_NAME_LEN], int nMaxDeviceNum, int nMaxDeviceNameLen);
参数:
@param: pnDeviceIds 设备ID存放列表,系统默认音频采集设备其ID为-1
@param: pDeviceNames 设备名称存放列表
@param: nMaxDeviceNum 最大枚举的设备数量,需小于等于SD_MAX_SUPPORT_AUDIO_DEVICES_NUM
@param: nMaxDeviceNameLen 最大设备名长度,必须等于SD_MAX_SUPPORT_AUDIO_DEVICES_NAME_LEN
返回值:返回设备数量
9、枚举当前系统可用的音频渲染设备(获取设备ID和设备名称)
int SD3ACapRender_GetAudioOutputDeviceList(int *pnDeviceIds, char(*pDeviceNames)[SD_MAX_SUPPORT_AUDIO_DEVICES_NAME_LEN], int nMaxDeviceNum, int nMaxDeviceNameLen);
参数:
@param: pnDeviceIds 设备ID存放列表,系统默认音频渲染设备其ID为-1
@param: pDeviceNames 设备名称存放列表
@param: nMaxDeviceNum 最大枚举的设备数量,需小于等于SD_MAX_SUPPORT_AUDIO_DEVICES_NUM
@param: nMaxDeviceNameLen 最大设备名长度,必须等于SD_MAX_SUPPORT_AUDIO_DEVICES_NAME_LEN
返回值:返回设备数量
最后修改时间: 2 年前