ISVP-SDK
3.12.0
Ingenic Smart Video Platform SDK
|
音频模块,包含录放音、音频编解码、音量及增益设置、回声消除、自动增益等功能 更多...
结构体 | |
struct | IMPAudioIOAttr |
音频输入输出设备属性. 更多... | |
struct | IMPAudioFrame |
音频帧结构体. 更多... | |
struct | IMPAudioIChnParam |
音频通道参数结构体. 更多... | |
struct | IMPAudioOChnState |
音频输出通道的数据缓存状态结构体. 更多... | |
struct | IMPAudioStream |
定义音频码流结构体. 更多... | |
struct | IMPAudioEncChnAttr |
定义音频编码通道属性结构体. 更多... | |
struct | IMPAudioEncEncoder |
定义编码器属性结构体. 更多... | |
struct | IMPAudioDecChnAttr |
定义解码通道属性结构体. 更多... | |
struct | IMPAudioDecDecoder |
定义解码器属性结构体. 更多... | |
struct | IMPAudioAgcConfig |
定义AGC增益结构体. 更多... | |
宏定义 | |
#define | MAX_AUDIO_FRAME_NUM 50 |
最大音频帧缓存数 | |
枚举 | |
enum | IMPBlock { BLOCK = 0, NOBLOCK = 1 } |
音频流阻塞类型 更多... | |
enum | IMPAudioSampleRate { AUDIO_SAMPLE_RATE_8000 = 8000, AUDIO_SAMPLE_RATE_16000 = 16000, AUDIO_SAMPLE_RATE_24000 = 24000, AUDIO_SAMPLE_RATE_44100 = 44100, AUDIO_SAMPLE_RATE_48000 = 48000, AUDIO_SAMPLE_RATE_96000 = 96000 } |
音频采样率定义. 更多... | |
enum | IMPAudioBitWidth { AUDIO_BIT_WIDTH_16 = 16 } |
音频采样精度定义. 更多... | |
enum | IMPAudioSoundMode { AUDIO_SOUND_MODE_MONO = 1, AUDIO_SOUND_MODE_STEREO = 2 } |
音频声道模式定义. 更多... | |
enum | IMPAudioPalyloadType { PT_PCM = 0, PT_G711A = 1, PT_G711U = 2, PT_G726 = 3, PT_AEC = 4, PT_ADPCM = 5, PT_MAX = 6 } |
定义音频净荷类型枚举. | |
enum | IMPAudioDecMode { ADEC_MODE_PACK = 0, ADEC_MODE_STREAM = 1 } |
定义解码方式. 更多... | |
enum | Level_ns { NS_LOW, NS_MODERATE, NS_HIGH, NS_VERYHIGH } |
定义噪声抑制级别. 更多... | |
函数 | |
int | IMP_AI_SetPubAttr (int audioDevId, IMPAudioIOAttr *attr) |
设置音频输入设备属性. 更多... | |
int | IMP_AI_GetPubAttr (int audioDevId, IMPAudioIOAttr *attr) |
获取音频输入设备属性. 更多... | |
int | IMP_AI_Enable (int audioDevId) |
启用音频输入设备. 更多... | |
int | IMP_AI_Disable (int audioDevId) |
禁用音频输入设备. 更多... | |
int | IMP_AI_EnableChn (int audioDevId, int aiChn) |
启用音频输入通道. 更多... | |
int | IMP_AI_DisableChn (int audioDevId, int aiChn) |
禁用音频输入通道. 更多... | |
int | IMP_AI_PollingFrame (int audioDevId, int aiChn, unsigned int timeout_ms) |
Polling音频流缓存. 更多... | |
int | IMP_AI_GetFrame (int audioDevId, int aiChn, IMPAudioFrame *frm, IMPBlock block) |
获取音频帧. 更多... | |
int | IMP_AI_ReleaseFrame (int audioDevId, int aiChn, IMPAudioFrame *frm) |
释放音频帧. 更多... | |
int | IMP_AI_SetChnParam (int audioDevId, int aiChn, IMPAudioIChnParam *chnParam) |
设置音频输入通道参数. 更多... | |
int | IMP_AI_GetChnParam (int audioDevId, int aiChn, IMPAudioIChnParam *chnParam) |
获取音频输入通道参数. 更多... | |
int | IMP_AI_EnableAec (int aiDevId, int aiChn, int aoDevId, int aoChn) |
启用指定音频输入和音频输出的回声抵消功能. 更多... | |
int | IMP_AI_DisableAec (int aiDevId, int aiChn) |
禁用回声抵消功能. 更多... | |
int | IMP_AI_EnableNs (IMPAudioIOAttr *attr, int mode) |
启用指定音频输入的噪声抑制功能. 更多... | |
int | IMP_AI_DisableNs (void) |
禁用噪声抑制功能. 更多... | |
int | IMP_AI_EnableAgc (IMPAudioIOAttr *attr, IMPAudioAgcConfig agcConfig) |
启用音频输入的自动增益功能. 更多... | |
int | IMP_AI_DisableAgc (void) |
禁用AI自动增益功能. 更多... | |
int | IMP_AO_EnableAgc (IMPAudioIOAttr *attr, IMPAudioAgcConfig agcConfig) |
启用音频输出的自动增益功能. 更多... | |
int | IMP_AO_DisableAgc (void) |
禁用AO自动增益功能. 更多... | |
int | IMP_AI_EnableHpf (IMPAudioIOAttr *attr) |
启用音频输入的高通滤波. 更多... | |
int | IMP_AI_DisableHpf (void) |
禁用AI高通滤波功能. 更多... | |
int | IMP_AO_EnableHpf (IMPAudioIOAttr *attr) |
启用音频输出的高通滤波. 更多... | |
int | IMP_AO_DisableHpf (void) |
禁用AO高通滤波功能. 更多... | |
int | IMP_AO_SetPubAttr (int audioDevId, IMPAudioIOAttr *attr) |
设置音频输入输出设备属性. 更多... | |
int | IMP_AO_GetPubAttr (int audioDevId, IMPAudioIOAttr *attr) |
获取音频输入输出设备属性. 更多... | |
int | IMP_AO_Enable (int audioDevId) |
启用音频输出设备. 更多... | |
int | IMP_AO_Disable (int audioDevId) |
禁用音频输出设备. 更多... | |
int | IMP_AO_EnableChn (int audioDevId, int aoChn) |
启用音频输出通道. 更多... | |
int | IMP_AO_DisableChn (int audioDevId, int aoChn) |
禁用音频输出通道. 更多... | |
int | IMP_AO_SendFrame (int audioDevId, int aoChn, IMPAudioFrame *data, IMPBlock block) |
发送音频输出帧. 更多... | |
int | IMP_AO_PauseChn (int audioDevId, int aoChn) |
暂停音频输出通道. 更多... | |
int | IMP_AO_ResumeChn (int audioDevId, int aoChn) |
恢复音频输出通道. 更多... | |
int | IMP_AO_ClearChnBuf (int audioDevId, int aoChn) |
清除音频输出通道中当前的音频数据缓存. 更多... | |
int | IMP_AO_QueryChnStat (int audioDevId, int aoChn, IMPAudioOChnState *status) |
查询音频输出通道中当前的音频数据缓存状态. 更多... | |
int | IMP_AENC_CreateChn (int aeChn, IMPAudioEncChnAttr *attr) |
创建音频编码通道. 更多... | |
int | IMP_AENC_DestroyChn (int aeChn) |
销毁音频编码通道. 更多... | |
int | IMP_AENC_SendFrame (int aeChn, IMPAudioFrame *frm) |
发送音频编码音频帧. 更多... | |
int | IMP_AENC_PollingStream (int AeChn, unsigned int timeout_ms) |
Polling编码音频流缓存. 更多... | |
int | IMP_AENC_GetStream (int aeChn, IMPAudioStream *stream, IMPBlock block) |
获取编码后码流. 更多... | |
int | IMP_AENC_ReleaseStream (int aeChn, IMPAudioStream *stream) |
释放从音频编码通道获取的码流. 更多... | |
int | IMP_AENC_RegisterEncoder (int *handle, IMPAudioEncEncoder *encoder) |
注册编码器. 更多... | |
int | IMP_AENC_ReleaseEncoder (int *handle) |
注销编码器. 更多... | |
int | IMP_ADEC_CreateChn (int adChn, IMPAudioDecChnAttr *attr) |
创建音频解码通道. 更多... | |
int | IMP_ADEC_DestroyChn (int adChn) |
销毁音频解码通道. 更多... | |
int | IMP_ADEC_SendStream (int adChn, IMPAudioStream *stream, IMPBlock block) |
发送音频码流到音频解码通道. 更多... | |
int | IMP_ADEC_PollingStream (int AdChn, unsigned int timeout_ms) |
Polling解码音频流缓存. 更多... | |
int | IMP_ADEC_GetStream (int adChn, IMPAudioStream *stream, IMPBlock block) |
获取解码后码流. 更多... | |
int | IMP_ADEC_ReleaseStream (int adChn, IMPAudioStream *stream) |
释放从音频解码通道获取的码流. 更多... | |
int | IMP_ADEC_ClearChnBuf (int adChn) |
清除音频解码通道中当前的音频数据缓存. 更多... | |
int | IMP_ADEC_RegisterDecoder (int *handle, IMPAudioDecDecoder *decoder) |
注册解码器. 更多... | |
int | IMP_ADEC_ReleaseDecoder (int *handle) |
注销解码器. 更多... | |
int | IMP_AI_SetVol (int audioDevId, int aiChn, int aiVol) |
ACODEC配置. 更多... | |
int | IMP_AI_GetVol (int audioDevId, int aiChn, int *vol) |
获取音频输入音量. 更多... | |
int | IMP_AI_SetVolMute (int audioDevId, int aiChn, int mute) |
设置音频输入静音. 更多... | |
int | IMP_AO_SetVol (int audioDevId, int aoChn, int aoVol) |
设置音频输出通道音量. 更多... | |
int | IMP_AO_GetVol (int audioDevId, int aoChn, int *vol) |
获取音频输出通道音量. 更多... | |
int | IMP_AO_SetVolMute (int audioDevId, int aoChn, int mute) |
设置音频输出静音. 更多... | |
int | IMP_AI_SetGain (int audioDevId, int aiChn, int aiGain) |
设置音频输入增益. 更多... | |
int | IMP_AI_GetGain (int audioDevId, int aiChn, int *aiGain) |
获取AI增益值. 更多... | |
int | IMP_AO_SetGain (int audioDevId, int aoChn, int aoGain) |
设置音频输出增益. 更多... | |
int | IMP_AO_GetGain (int audioDevId, int aoChn, int *aoGain) |
获取音频输出增益. 更多... | |
int | IMP_AO_Soft_Mute (int audioDevId, int aoChn) |
输出软静音控制. 更多... | |
int | IMP_AO_Soft_UNMute (int audioDevId, int aoChn) |
输出软撤销静音控制. 更多... | |
int | IMP_AI_GetFrameAndRef (int audioDevId, int aiChn, IMPAudioFrame *frm, IMPAudioFrame *ref, IMPBlock block) |
获取音频帧和输出参考帧. 更多... | |
int | IMP_AI_EnableAecRefFrame (int audioDevId, int aiChn, int audioAoDevId, int aoChn) |
打开获取参考帧. 更多... | |
int | IMP_AI_DisableAecRefFrame (int audioDevId, int aiChn, int audioAoDevId, int aoChn) |
关闭获取参考帧. 更多... | |
int | IMP_AO_CacheSwitch (int audioDevId, int aoChn, int cache_en) |
关闭音频播放缓存机制 更多... | |
int | IMP_AO_FlushChnBuf (int audioDevId, int aoChn) |
等待最后一段音频数据播完; 更多... | |
变量 | |
IMPAudioSampleRate | samplerate |
音频采样率 | |
IMPAudioBitWidth | bitwidth |
音频采样精度 | |
IMPAudioSoundMode | soundmode |
音频声道模式 | |
int | frmNum |
缓存帧的数目, 取值范围:[2, MAX_AUDIO_FRAME_NUM] | |
int | numPerFrm |
每帧的采样点个数 | |
int | chnCnt |
支持的通道数目 | |
IMPAudioBitWidth | bitwidth |
音频采样精度 | |
IMPAudioSoundMode | soundmode |
音频声道模式 | |
uint32_t * | virAddr |
音频帧数据虚拟地址 | |
uint32_t | phyAddr |
音频帧数据物理地址 | |
int64_t | timeStamp |
音频帧数据时间戳 | |
int | seq |
音频帧序号 | |
int | len |
音频帧长度 | |
int | usrFrmDepth |
音频帧缓存深度 | |
int | Rev |
保留 | |
int | chnTotalNum |
输出通道总的缓存块数 | |
int | chnFreeNum |
空闲缓存块数 | |
int | chnBusyNum |
被占用的缓存块数 | |
uint8_t * | stream |
数据流指针 | |
uint32_t | phyAddr |
数据流物理地址 | |
int | len |
音频码流长度 | |
int64_t | timeStamp |
时间戳 | |
int | seq |
音频码流序号 | |
IMPAudioPalyloadType | type |
音频净荷数据类型 | |
int | bufSize |
buf 大小,以帧为单位,[2~MAX_AUDIO_FRAME_NUM] | |
uint32_t * | value |
协议属性指针 | |
IMPAudioPalyloadType | type |
编码协议类型 | |
int | maxFrmLen |
最大码流长度 | |
char | name [16] |
编码器名称 | |
int(* | openEncoder )(void *encoderAttr, void *encoder) |
int(* | encoderFrm )(void *encoder, IMPAudioFrame *data, unsigned char *outbuf, int *outLen) |
int(* | closeEncoder )(void *encoder) |
IMPAudioPalyloadType | type |
音频解码协议类型 | |
int | bufSize |
音频解码缓存大小 | |
IMPAudioDecMode | mode |
解码方式 | |
void * | value |
具体协议属性指针 | |
IMPAudioPalyloadType | type |
音频解码协议类型 | |
char | name [16] |
音频解码器名字 | |
int(* | openDecoder )(void *decoderAttr, void *decoder) |
int(* | decodeFrm )(void *decoder, unsigned char *inbuf, int inLen, unsigned short *outbuf, int *outLen, int *chns) |
int(* | getFrmInfo )(void *decoder, void *info) |
int(* | closeDecoder )(void *decoder) |
int | TargetLevelDbfs |
增益级别,取值为[0, 31], 这指目标音量级别,单位为db,为负值. 更多... | |
int | CompressionGaindB |
设置最大的增益值,[0, 90],0代表无增益,值越大,增益越高. 更多... | |
音频模块,包含录放音、音频编解码、音量及增益设置、回声消除、自动增益等功能
音频功能包含音频输入,音频输出,回音消除,音频编码和音频解码5个模块.
其中音频输入和音频输出存在设备和通道的概念.其中一个MIC我们认为是一个Device,而一个MIC可以有多路Channel输入.
同样的一个SPK我们认为是一个放音Device,而一个SPK也可以有多路Channel输出.
当前版本的音频API一个Device只支持一个Channel.
回音消除位于音频输入接口中,具体说明在功能描述中体现.
音频编码当前音频API中支持PT_G711A、PT_G711U和PT_G726格式音频编码,如需要增加新的编码方式,需要注册编码器.
音频解码当前音频API中支持PT_G711A、PT_G711U和PT_G726格式音频解码,如需要增加新的解码方式,需要注册解码器.
以下是对每个模块的具体说明
音频输入Device ID 对应关系, 0: 对应数字MIC 1: 对应模拟MIC
音频输入Channel当前API只支持1个通道.
音频输入的音量设置,音量的取值范围为[-30 ~ 120]. -30代表静音,120表示将声音放大30dB,步长0.5dB.其中60是音量设置的一个临界点,
在这个值上软件不对音量做增加或减小,当音量值小于60时,每下降1,音量减小0.5dB;当音量值大于60时,上增加1,音量增加0.5dB。
音频输出Device ID 对应关系, 0: 对应默认SPK 1: 对应其他SPK
音频输出Channel当前API只支持1个通道.
音频输出的音量设置,音量的取值范围为[-30 ~ 120]. -30代表静音,120表示将声音放大30dB,步长0.5dB.其中60是音量设置的一个临界点,
在这个值上软件不对音量做增加或减小,当音量值小于60时,每下降1,音量减小0.5dB;当音量值大于60时,上增加1,音量增加0.5dB.
回音消除属于音频输入接口中的一项功能,所以在使能回音消除时必须先使能音频输入设备和通道.
回音消除当前支持音频采样率为8K和16K,一帧数据采样数为10ms音频数据的整数倍(如:8K采样率, 送入的数据为:8000 × 2 / 100 = 160byte的整数倍)。
回音消除针对不同的设备,不同的封装,回音消除会有不同的效果.
回音消除目前不支持自适应,所以针对不同设备有单独的回音消除参数,
回音消除的参数文件位于/etc/webrtc_profile.ini 配置文件中.
配置文件格式为如下(以下列出主要需要调试的三个参数):
[Set_Far_Frame]
Frame_V=0.3
[Set_Near_Frame]
Frame_V=0.1
delay_ms=150
其中第一个标签[Set_Far_Frame]中的内容代表远端参数,即SPK端放音数据参数.
Fram_V 代表音频幅值比例,调节该参数可以调节放音数据的幅度(此幅度只用于回音消除).
其中第一个标签[Set_Near_Frame]中的内容代表近端参数,即MIC端录音数据参数.
Fram_V 代表音频幅值比例,调节该参数可以调节录音数据的幅度(此幅度只用于回音消除).
delay_ms 由于软件和硬件具有延时性,且SPK与MIC的安放有一定距离,SPK放音数据会重新被MIC采样,所以SPK数据在MIC数据中体现会存在一定延时.
该时间代表放音数据在录音数据中的时间差.
音频编码目前音频API支持PT_G711A、PT_G711U和PT_G726格式音频编码,如果需要增加新的编码方式,需要调用IMP_AENC_RegisterEncoder接口进行注册编码器.
音频解码目前音频API支持PT_G711A、PT_G711U和PT_G726格式音频解码,如果需要增加新的解码方式,需要调用IMP_ADEC_RegisterDecoder接口进行注册解码器.
enum IMPAudioBitWidth |
enum IMPAudioDecMode |
enum IMPAudioSampleRate |
enum IMPAudioSoundMode |
enum IMPBlock |
enum Level_ns |
int IMP_ADEC_ClearChnBuf | ( | int | adChn | ) |
清除音频解码通道中当前的音频数据缓存.
[in] | adChn | 通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_CreateChn | ( | int | adChn, |
IMPAudioDecChnAttr * | attr | ||
) |
创建音频解码通道.
[in] | adChn | 通道号. |
[in] | attr | 通道属性指针. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_DestroyChn | ( | int | adChn | ) |
销毁音频解码通道.
[in] | adChn | 通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_GetStream | ( | int | adChn, |
IMPAudioStream * | stream, | ||
IMPBlock | block | ||
) |
获取解码后码流.
[in] | adChn | 通道号. |
[in] | stream | 获取解码码流. |
[in] | block | 阻塞/非阻塞标识. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_PollingStream | ( | int | AdChn, |
unsigned int | timeout_ms | ||
) |
Polling解码音频流缓存.
[in] | AdChn | 音频解码输入通道号. |
[in] | timeout_ms | Polling超时时间. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_RegisterDecoder | ( | int * | handle, |
IMPAudioDecDecoder * | decoder | ||
) |
注册解码器.
[in] | ps32handle | 注册句柄. |
[in] | decoder | 解码器属性结构体. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_ReleaseDecoder | ( | int * | handle | ) |
注销解码器.
[in] | ps32handle | 注册句柄(注册解码器时获得的句柄). |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_ReleaseStream | ( | int | adChn, |
IMPAudioStream * | stream | ||
) |
释放从音频解码通道获取的码流.
[in] | adChn | 通道号. |
[in] | stream | 音频码流指针. |
0 | 成功. |
非0 | 失败. |
int IMP_ADEC_SendStream | ( | int | adChn, |
IMPAudioStream * | stream, | ||
IMPBlock | block | ||
) |
发送音频码流到音频解码通道.
[in] | adChn | 通道号. |
[in] | stream | 音频码流. |
[in] | block | 阻塞/非阻塞标识. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_CreateChn | ( | int | aeChn, |
IMPAudioEncChnAttr * | attr | ||
) |
创建音频编码通道.
[in] | aeChn | 通道号. |
[in] | attr | 音频编码通道属性指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_DestroyChn | ( | int | aeChn | ) |
销毁音频编码通道.
[in] | aeChn | 通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_GetStream | ( | int | aeChn, |
IMPAudioStream * | stream, | ||
IMPBlock | block | ||
) |
获取编码后码流.
[in] | aeChn | 通道号. |
[in] | stream | 获取音频码流. |
[in] | block | 阻塞/非阻塞标识. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_PollingStream | ( | int | AeChn, |
unsigned int | timeout_ms | ||
) |
Polling编码音频流缓存.
[in] | AeChn | 音频编码输入通道号. |
[in] | timeout_ms | Polling超时时间. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_RegisterEncoder | ( | int * | handle, |
IMPAudioEncEncoder * | encoder | ||
) |
注册编码器.
[in] | ps32handle | 注册句柄. |
[in] | encoder | 编码器属性结构体. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_ReleaseEncoder | ( | int * | handle | ) |
注销编码器.
[in] | ps32handle | 注册句柄(注册编码器时获得的句柄). |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_ReleaseStream | ( | int | aeChn, |
IMPAudioStream * | stream | ||
) |
释放从音频编码通道获取的码流.
[in] | aeChn | 通道号. |
[in] | stream | 获取音频码流指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AENC_SendFrame | ( | int | aeChn, |
IMPAudioFrame * | frm | ||
) |
发送音频编码音频帧.
[in] | aeChn | 通道号. |
[in] | frm | 音频帧结构体指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_Disable | ( | int | audioDevId | ) |
禁用音频输入设备.
[in] | audioDevId | 音频设备号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_DisableAec | ( | int | aiDevId, |
int | aiChn | ||
) |
禁用回声抵消功能.
[in] | aiDevId | 音频输入设备号. |
[in] | aiChn | 音频输入通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_DisableAecRefFrame | ( | int | audioDevId, |
int | aiChn, | ||
int | audioAoDevId, | ||
int | aoChn | ||
) |
关闭获取参考帧.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[in] | audioAoDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_DisableAgc | ( | void | ) |
禁用AI自动增益功能.
无. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_DisableChn | ( | int | audioDevId, |
int | aiChn | ||
) |
禁用音频输入通道.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_DisableHpf | ( | void | ) |
禁用AI高通滤波功能.
无. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_DisableNs | ( | void | ) |
禁用噪声抑制功能.
无. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_Enable | ( | int | audioDevId | ) |
int IMP_AI_EnableAec | ( | int | aiDevId, |
int | aiChn, | ||
int | aoDevId, | ||
int | aoChn | ||
) |
启用指定音频输入和音频输出的回声抵消功能.
[in] | aiDevId | 需要进行回声抵消的音频输入设备号. |
[in] | aiChn | 需要进行回声抵消的音频输入通道号. |
[in] | aoDevId | 需要进行回声抵消的音频输出设备号. |
[in] | aoChn | 需要进行回声抵消的音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_EnableAecRefFrame | ( | int | audioDevId, |
int | aiChn, | ||
int | audioAoDevId, | ||
int | aoChn | ||
) |
打开获取参考帧.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[in] | audioAoDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_EnableAgc | ( | IMPAudioIOAttr * | attr, |
IMPAudioAgcConfig | agcConfig | ||
) |
启用音频输入的自动增益功能.
[in] | attr | 需要进行自动增益的音频属性. |
[in] | agcConfig | 自动增益的参数配置,配置放大倍数. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_EnableChn | ( | int | audioDevId, |
int | aiChn | ||
) |
启用音频输入通道.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_EnableHpf | ( | IMPAudioIOAttr * | attr | ) |
启用音频输入的高通滤波.
[in] | attr | 需要进行高通滤波的音频属性. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_EnableNs | ( | IMPAudioIOAttr * | attr, |
int | mode | ||
) |
启用指定音频输入的噪声抑制功能.
[in] | attr | 需要进行噪声抑制的音频属性. |
[in] | mode | 噪声抑制的级别0 ~ 3,参见 Level_ns. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_GetChnParam | ( | int | audioDevId, |
int | aiChn, | ||
IMPAudioIChnParam * | chnParam | ||
) |
获取音频输入通道参数.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | chnParam | 音频通道参数. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_GetFrame | ( | int | audioDevId, |
int | aiChn, | ||
IMPAudioFrame * | frm, | ||
IMPBlock | block | ||
) |
获取音频帧.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | frm | 音频帧结构体指针. |
[in] | block | 阻塞/非阻塞标识. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_GetFrameAndRef | ( | int | audioDevId, |
int | aiChn, | ||
IMPAudioFrame * | frm, | ||
IMPAudioFrame * | ref, | ||
IMPBlock | block | ||
) |
获取音频帧和输出参考帧.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | frm | 音频帧结构体指针. |
[out] | ref | 参考帧结构体指针. |
[in] | block | 阻塞/非阻塞标识. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_GetGain | ( | int | audioDevId, |
int | aiChn, | ||
int * | aiGain | ||
) |
获取AI增益值.
[in] | audioDevId | 音频输入设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | aiGain | 音频输入增益. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_GetPubAttr | ( | int | audioDevId, |
IMPAudioIOAttr * | attr | ||
) |
获取音频输入设备属性.
[in] | audioDevId | 音频设备号. |
[out] | attr | 音频设备属性指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_GetVol | ( | int | audioDevId, |
int | aiChn, | ||
int * | vol | ||
) |
获取音频输入音量.
[in] | aiDevId | 音频输入设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | vol | 音频输入通道音量. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_PollingFrame | ( | int | audioDevId, |
int | aiChn, | ||
unsigned int | timeout_ms | ||
) |
Polling音频流缓存.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[in] | timeout_ms | Polling超时时间. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_ReleaseFrame | ( | int | audioDevId, |
int | aiChn, | ||
IMPAudioFrame * | frm | ||
) |
释放音频帧.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[in] | frm | 音频帧结构体指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_SetChnParam | ( | int | audioDevId, |
int | aiChn, | ||
IMPAudioIChnParam * | chnParam | ||
) |
设置音频输入通道参数.
[in] | audioDevId | 音频设备号. |
[in] | aiChn | 音频输入通道号. |
[in] | chnParam | 音频通道参数. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_SetGain | ( | int | audioDevId, |
int | aiChn, | ||
int | aiGain | ||
) |
设置音频输入增益.
[in] | audioDevId | 音频输入设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | aiGain | 音频输入增益,范围[0 ~ 31]. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_SetPubAttr | ( | int | audioDevId, |
IMPAudioIOAttr * | attr | ||
) |
设置音频输入设备属性.
[in] | audioDevId | 音频设备号. |
[in] | attr | 音频设备属性指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AI_SetVol | ( | int | audioDevId, |
int | aiChn, | ||
int | aiVol | ||
) |
ACODEC配置.
设置音频输入音量.
[in] | aiDevId | 音频输入设备号. |
[in] | aiChn | 音频输入通道号. |
[in] | aiVol | 音频输入音量大小. |
0 | 成功. |
非0 | 失败. |
示例代码
int IMP_AI_SetVolMute | ( | int | audioDevId, |
int | aiChn, | ||
int | mute | ||
) |
设置音频输入静音.
[in] | aiDevId | 音频输入设备号. |
[in] | aiChn | 音频输入通道号. |
[out] | mute | 音频输入静音标志, mute = 0:关闭静音, mute = 1:打开静音. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_CacheSwitch | ( | int | audioDevId, |
int | aoChn, | ||
int | cache_en | ||
) |
关闭音频播放缓存机制
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
[in] | cache_en | 缓存机制开启开关 |
0 | 成功. |
非0 | 失败. |
int IMP_AO_ClearChnBuf | ( | int | audioDevId, |
int | aoChn | ||
) |
清除音频输出通道中当前的音频数据缓存.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_Disable | ( | int | audioDevId | ) |
禁用音频输出设备.
[in] | audioDevId | 音频设备号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_DisableAgc | ( | void | ) |
禁用AO自动增益功能.
无. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_DisableChn | ( | int | audioDevId, |
int | aoChn | ||
) |
禁用音频输出通道.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_DisableHpf | ( | void | ) |
禁用AO高通滤波功能.
无. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_Enable | ( | int | audioDevId | ) |
启用音频输出设备.
[in] | audioDevId | 音频设备号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_EnableAgc | ( | IMPAudioIOAttr * | attr, |
IMPAudioAgcConfig | agcConfig | ||
) |
启用音频输出的自动增益功能.
[in] | attr | 需要进行自动增益的音频属性. |
[in] | agcConfig | 自动增益的参数配置,配置放大倍数. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_EnableChn | ( | int | audioDevId, |
int | aoChn | ||
) |
启用音频输出通道.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_EnableHpf | ( | IMPAudioIOAttr * | attr | ) |
启用音频输出的高通滤波.
[in] | attr | 需要进行高通滤波的音频属性. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_FlushChnBuf | ( | int | audioDevId, |
int | aoChn | ||
) |
等待最后一段音频数据播完;
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_GetGain | ( | int | audioDevId, |
int | aoChn, | ||
int * | aoGain | ||
) |
获取音频输出增益.
[in] | audioDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
[out] | aoGain | 音频输出增益. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_GetPubAttr | ( | int | audioDevId, |
IMPAudioIOAttr * | attr | ||
) |
获取音频输入输出设备属性.
[in] | audioDevId | 音频设备号. |
[out] | attr | 音频输出设备属性指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_GetVol | ( | int | audioDevId, |
int | aoChn, | ||
int * | vol | ||
) |
获取音频输出通道音量.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
[out] | aoVol | 音频输出音量. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_PauseChn | ( | int | audioDevId, |
int | aoChn | ||
) |
暂停音频输出通道.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_QueryChnStat | ( | int | audioDevId, |
int | aoChn, | ||
IMPAudioOChnState * | status | ||
) |
查询音频输出通道中当前的音频数据缓存状态.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
[out] | status | 缓存状态结构体指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_ResumeChn | ( | int | audioDevId, |
int | aoChn | ||
) |
恢复音频输出通道.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_SendFrame | ( | int | audioDevId, |
int | aoChn, | ||
IMPAudioFrame * | data, | ||
IMPBlock | block | ||
) |
发送音频输出帧.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
[in] | data | 音频帧结构体指针. |
[in] | block | 阻塞/非阻塞标识. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_SetGain | ( | int | audioDevId, |
int | aoChn, | ||
int | aoGain | ||
) |
设置音频输出增益.
[in] | audioDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
[out] | aoGain | 音频输出增益,范围[0 ~ 0xcb]. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_SetPubAttr | ( | int | audioDevId, |
IMPAudioIOAttr * | attr | ||
) |
设置音频输入输出设备属性.
[in] | audioDevId | 音频设备号. |
[in] | attr | 音频输出设备属性指针. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_SetVol | ( | int | audioDevId, |
int | aoChn, | ||
int | aoVol | ||
) |
设置音频输出通道音量.
[in] | audioDevId | 音频设备号. |
[in] | aoChn | 音频输出通道号. |
[in] | aoVol | 音频输出音量. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_SetVolMute | ( | int | audioDevId, |
int | aoChn, | ||
int | mute | ||
) |
设置音频输出静音.
[in] | audioDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
[out] | mute | 音频输出静音标志, mute = 0:关闭静音, mute = 1:打开静音. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_Soft_Mute | ( | int | audioDevId, |
int | aoChn | ||
) |
输出软静音控制.
[in] | audioDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int IMP_AO_Soft_UNMute | ( | int | audioDevId, |
int | aoChn | ||
) |
输出软撤销静音控制.
[in] | audioDevId | 音频输出设备号. |
[in] | aoChn | 音频输出通道号. |
0 | 成功. |
非0 | 失败. |
int CompressionGaindB |
设置最大的增益值,[0, 90],0代表无增益,值越大,增益越高.
int TargetLevelDbfs |
增益级别,取值为[0, 31], 这指目标音量级别,单位为db,为负值.
值越小,音量越大.