音频(9.4--9.5)¶
数据类型¶
音频输入输出¶
音频输入输出相关数据类型、数据结构定义如下:
OT_AIO_MAX_CHN_NUM:定义音频输入/输出设备的最大通道数。
OT_AI_DEV_MAX_NUM:定义音频输入设备的最大个数。
OT_AO_DEV_MAX_NUM:定义音频输出设备的最大个数。
OT_AIO_MAX_CHN_NUM:定义音频输入/输出设备的最大个数。
OT_AI_MAX_CHN_NUM:定义音频输入设备的最大通道数。
OT_AO_MAX_CHN_NUM:定义音频输出设备的最大通道数。
OT_AO_SYS_CHN_ID:定义音频输出设备系统音通道ID。
OT_AI_TALKVQE_MASK_HPF:TalkVQE HPF功能的Mask。
OT_AI_TALKVQE_MASK_AEC:TalkVQE AEC功能的Mask。
OT_AI_TALKVQE_MASK_AGC:TalkVQE AGC功能的Mask。
OT_AI_TALKVQE_MASK_EQ:TalkVQE EQ功能的Mask。
OT_AI_TALKVQE_MASK_ANR:TalkVQE ANR功能的Mask。
OT_AI_RECORDVQE_MASK_HPF:RecordVQE HPF功能的Mask。
OT_AI_RECORDVQE_MASK_RNR:RecordVQE RNR功能的Mask。
OT_AI_RECORDVQE_MASK_HDR:RecordVQE HDR功能的Mask。
OT_AI_RECORDVQE_MASK_DRC:RecordVQE DRC功能的Mask。
OT_AI_RECORDVQE_MASK_EQ:RecordVQE EQ功能的Mask。
OT_AI_RECORDVQE_MASK_AGC:RecordVQE AGC功能的Mask。
OT_AI_TALKVQEV2_MASK_PNR:定义TalkVqeV2 PNR功能的Mask。
OT_AI_TALKVQEV2_MASK_NR:定义TalkVqeV2 NR功能的Mask。
OT_AI_TALKVQEV2_MASK_EQ:定义TalkVqeV2 EQ功能的Mask。
OT_AI_TALKVQEV2_MASK_AGC:定义TalkVqeV2 AGC功能的Mask。
OT_AI_TALKVQEV2_MASK_DRC:定义TalkVqeV2 DRC功能的Mask。
OT_AI_TALKVQEV2_MASK_LIMITER:定义TalkVqeV2 LIMITER功能的Mask。
OT_AI_TALKVQEV2_MASK_DEREVERB:定义TalkVqeV2 DEREVERB功能的Mask。
OT_AI_TALKVQEV2_MASK_FMP:定义TalkVqeV2 FMP功能的Mask。
OT_AI_TALKVQEV2_MASK_WNR:定义TalkVqeV2 WNR功能的Mask。
OT_AI_TALKVQEV2_MASK_AEC:定义TalkVqeV2 AEC功能的Mask。
OT_AI_TALKVQEV2_MASK_HS:定义TalkVqeV2 HS功能的Mask。
OT_AO_VQE_MASK_HPF:AO VQE HPF功能的Mask。
OT_AO_VQE_MASK_ANR:AO VQE ANR功能的Mask。
OT_AO_VQE_MASK_AGC:AO VQE AGC功能的Mask。
OT_AO_VQE_MASK_EQ:AO VQE EQ功能的Mask。
OT_MAX_AUDIO_FILE_PATH_LEN:音频保存文件的路径的最大长度限制。
OT_MAX_AUDIO_FILE_NAME_LEN:音频保存文件的名称的最大长度限制。
OT_AUDIO_FRAME_CHN_NUM:定义存放音频数据的最大声道数。
OT_VQE_EQ_BAND_NUM:定义EQ功能可调节的频段数。
OT_VQE_DRC_SEC_NUM:定义DRC动态曲线可配置级数。
OT_AEC_ERL_BAND_NUM:定义AEC功能ERL保护频段的数目。
OT_AEC_ERL_BAND_VALUE_NUM:定义AEC功能ERL保护频段值的数目。
OT_TALKVQEV2_EQ_BAND_NUM:定义TalkVqeV2 EQ功能可调节的频段数。
ot_audio_clk_select:定义音频时钟源。
ot_audio_sample_rate:定义音频采样率。
ot_audio_bit_width:定义音频采样精度。
ot_aio_mode:定义音频输入输出工作模式。
ot_aio_i2s_type:定义设备I2S对接设备类型。
ot_audio_snd_mode:定义音频声道模式。
ot_audio_mod_param:定义音频模块参数结构体。
ot_aio_attr:定义音频输入输出设备属性结构体。
ot_ai_chn_param:定义通道参数结构体。
ot_audio_frame:定义音频帧数据结构体。
ot_aec_frame:定义回声抵消参考帧信息结构体。
ot_audio_agc_cfg:定义音频自动增益控制配置信息结构体。
ot_ai_aec_cfg:定义音频回声抵消配置信息结构体。
ot_audio_anr_cfg:定义音频语音降噪功能配置信息结构体。
ot_audio_hpf_freq:定义音频高通滤波截止频率。
ot_audio_hpf_cfg:定义音频高通滤波截止频率。
ot_ai_rnr_cfg:定义音频录音噪声消除功能配置信息结构体。
ot_vqe_work_state:定义音频高通滤波功能配置信息结构体。
ot_vqe_record_type:定义录音类型。
ot_audio_eq_cfg:定义音频均衡器功能配置信息结构体。
ot_ai_hdr_cfg:定义音频高动态范围功能配置信息结构体。
ot_ai_drc_cfg:定义音频动态压缩控制功能配置信息结构体。
ot_ai_talk_v2_pnr_cfg:定义音频TalkVqeV2二次降噪功能配置信息结构体。
ot_ai_talk_v2_nr_cfg:定义音频TalkVqeV2降噪功能配置信息结构体。
ot_ai_talk_v2_agc_cfg:定义音频TalkVqeV2自动增益控制功能配置信息结构体。
ot_ai_talk_v2_eq_cfg:定义音频TalkVqeV2均衡器功能配置信息结构体。
ot_ai_talk_v2_aec_cfg:定义音频TalkVqeV2回声抵消功能配置信息结构体。
ot_ai_talk_v2_wnr_cfg: 定义音频TalkVqeV2降风噪功能配置信息结构体。
ot_ai_talk_v2_fmp_cfg:定义音频TalkVqeV2并行处理功能配置信息结构体。
ot_ai_talk_v2_hs_cfg:定义音频TalkVqeV2抗啸叫功能配置信息结构体。
ot_ai_talk_vqe_cfg:定义音频输入声音质量增强(Talk)配置信息结构体。
ot_ai_record_vqe_cfg:定义音频输入声音质量增强(Record)配置信息结构体。
ot_ai_talk_vqe_v2_cfg:定义音频输入声音质量增强(Talk V2)配置信息结构体。
ot_ao_vqe_cfg:定义音频输出声音质量增强配置信息结构体。
ot_vqe_mod_cfg:定义声音质量增强及重采样模块配置信息结构体。
ot_audio_vqe_register:定义声音质量增强及重采样模块注册结构体。
ot_audio_stream:定义音频码流结构体。
ot_ao_chn_state:音频输出通道的数据缓存状态结构体。
ot_audio_track_mode:音频设备声道模式类型。
ot_audio_fade_rate:音频设备淡入淡出速率类型。
ot_audio_fade:音频设备淡入淡出设置结构体。
ot_g726_bps:定义G.726编解码协议速率。
ot_adpcm_type:定义ADPCM编解码协议类型。
ot_audio_save_file_info:定义音频保存文件功能配置信息结构体。
ot_audio_file_status:定义音频文件保存状态结构体。
ot_ai_chn_mode:定义AI通道的工作模式。
ot_ai_chn_attr:定义AI通道属性结构体。
OT_AIO_MAX_CHN_NUM¶
【说明】
定义音频输入/输出设备的最大通道数。
【定义】
#define OT_AIO_MAX_CHN_NUM ((OT_AO_MAX_CHN_NUM > OT_AI_MAX_CHN_NUM) ? OT_AO_MAX_CHN_NUM : OT_AI_MAX_CHN_NUM)
【注意事项】
无。
【相关数据类型及接口】
无。
OT_AI_DEV_MAX_NUM¶
【说明】
定义音频输入设备的最大个数。
【定义】
SS528V100/SS524V100:
#define OT_AI_DEV_MAX_NUM 2
SS928V100/SS626V100:
#define OT_AI_DEV_MAX_NUM 1
【注意事项】
无。
【相关数据类型及接口】
无。
OT_AO_DEV_MAX_NUM¶
【说明】
定义音频输出设备的最大个数。
【定义】
SS528V100/SS524V100/SS928V100:
#define OT_AO_DEV_MAX_NUM 2
SS626V100:
#define OT_AO_DEV_MAX_NUM 3
【注意事项】
无。
【相关数据类型及接口】
无。
OT_AIO_MAX_NUM¶
【说明】
定义音频输入/输出设备的最大个数。
【定义】
#define OT_AIO_MAX_NUM ((OT_AO_DEV_MAX_NUM > OT_AI_DEV_MAX_NUM) ? OT_AO_DEV_MAX_NUM : OT_AI_DEV_MAX_NUM)
【注意事项】
无。
【相关数据类型及接口】
无。
OT_AI_MAX_CHN_NUM¶
【说明】
定义音频输入设备的最大通道个数。
【定义】
SS528V100/SS524V100/SS626V100:
#define OT_AI_MAX_CHN_NUM 20
SS928V100:
#define OT_AI_MAX_CHN_NUM 16
【注意事项】
无。
【相关数据类型及接口】
无。
OT_AO_MAX_CHN_NUM¶
【说明】
定义音频输出设备的最大通道个数。
【定义】
SS528V100/SS524V100/SS928V100:
#define OT_AO_MAX_CHN_NUM 9
SS626V100:
#define OT_AO_MAX_CHN_NUM 3
【注意事项】
其中,该计数中包括AO系统音通路,实体通路数为OT_AO_MAX_CHN_NUM – 1。
【相关数据类型及接口】
无。
OT_AO_SYS_CHN_ID¶
【说明】
定义音频输出设备的系统音通道ID。
【定义】
#define OT_AO_SYS_CHN_ID (OT_AO_MAX_CHN_NUM - 1)
【注意事项】
每个输出设备的系统音通道相互独立。其中,送至系统音通道的数据会在各个实体通道的基础上混音并最终输出,可用于全局提示音、按键音等场景。
【相关数据类型及接口】
无。
OT_AI_TALKVQE_MASK_HPF¶
【说明】
定义TalkVQE HPF功能的Mask。
【定义】
#define OT_AI_TALKVQE_MASK_HPF 0x1
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_cfg结构体成员open_mask表示开启HPF功能。如open_mask = OT_AI_TALKVQE_MASK_AEC | OT_AI_TALKVQE_MASK_HPF;表示开启AEC和HPF功能。
OT_AI_TALKVQE_MASK_AEC¶
【说明】
定义TalkVQE AEC功能的Mask。
【定义】
#define OT_AI_TALKVQE_MASK_AEC 0x2
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_cfg结构体成员open_mask表示开启AEC功能。如open_mask =OT_AI_TALKVQE_MASK_AEC | OT_AI_TALKVQE_MASK_HPF;表示开启AEC和HPF功能。
OT_AI_TALKVQE_MASK_AGC¶
【说明】
定义TalkVQE AGC功能的Mask。
【定义】
#define OT_AI_TALKVQE_MASK_AGC 0x8
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_cfg结构体成员open_mask表示开启AGC功能。如open_mask = OT_AI_TALKVQE_MASK_AEC | OT_AI_TALKVQE_MASK_AGC;表示开启AEC和AGC功能。
OT_AI_TALKVQE_MASK_EQ¶
【说明】
定义TalkVQE EQ功能的Mask。
【定义】
#define OT_AI_TALKVQE_MASK_EQ 0x10
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_cfg结构体成员open_mask表示开启EQ功能。如open_mask = OT_AI_TALKVQE_MASK_AEC | OT_AI_TALKVQE_MASK_EQ;表示开启AEC和EQ功能。
OT_AI_TALKVQE_MASK_ANR¶
【说明】
定义TalkVQE ANR功能的Mask。
【定义】
#define OT_AI_TALKVQE_MASK_ANR 0x20
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_cfg结构体成员open_mask表示开启ANR功能。如open_mask = OT_AI_TALKVQE_MASK_AEC | OT_AI_TALKVQE_MASK_ANR;表示开启AEC和ANR功能。
OT_AI_RECORDVQE_MASK_HPF¶
【说明】
定义RecordVQE HPF功能的Mask。
【定义】
#define OT_AI_RECORDVQE_MASK_HPF 0x1
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_record_vqe_cfg结构体成员open_mask表示开启HPF功能。如open_mask = OT_AI_RECORDVQE_MASK_HPF | OT_AI_RECORDVQE_MASK_HDR;表示开启HPF和HDR功能。
OT_AI_RECORDVQE_MASK_RNR¶
【说明】
定义RecordVQE RNR功能的Mask。
【定义】
#define OT_AI_RECORDVQE_MASK_RNR 0x2
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_record_vqe_cfg结构体成员open_mask表示开启RNR功能。如open_mask = OT_AI_RECORDVQE_MASK_HPF | OT_AI_RECORDVQE_MASK_RNR;表示开启HPF和RNR功能。
OT_AI_RECORDVQE_MASK_HDR¶
【说明】
定义RecordVQE HDR功能的Mask。
【定义】
#define OT_AI_RECORDVQE_MASK_HDR 0x4
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_record_vqe_cfg结构体成员open_mask表示开启HDR功能。如open_mask = OT_AI_RECORDVQE_MASK_HPF | OT_AI_RECORDVQE_MASK_HDR;表示开启HPF和HDR功能。
OT_AI_RECORDVQE_MASK_DRC¶
【说明】
定义RecordVQE DRC功能的Mask。
【定义】
#define OT_AI_RECORDVQE_MASK_DRC 0x8
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_record_vqe_cfg结构体成员open_mask表示开启DRC功能。如open_mask = OT_AI_RECORDVQE_MASK_HPF | OT_AI_RECORDVQE_MASK_DRC;表示开启HPF和DRC功能。
OT_AI_RECORDVQE_MASK_EQ¶
【说明】
定义RecordVQE EQ功能的Mask。
【定义】
#define OT_AI_RECORDVQE_MASK_EQ 0x10
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_record_vqe_cfg结构体成员open_mask表示开启EQ功能。如open_mask = OT_AI_RECORDVQE_MASK_HPF | OT_AI_RECORDVQE_MASK_EQ;表示开启HPF和EQ功能。
OT_AI_RECORDVQE_MASK_AGC¶
【说明】
定义RecordVQE AGC功能的Mask。
【定义】
#define OT_AI_RECORDVQE_MASK_AGC 0x20
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_record_vqe_cfg结构体成员open_mask表示开启AGC功能。如open_mask =OT_AI_RECORDVQE_MASK_HPF | OT_AI_RECORDVQE_MASK_AGC;表示开启HPF和AGC功能。
OT_AI_TALKVQEV2_MASK_PNR¶
【说明】
定义TalkVqeV2 PNR功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_PNR 0x1
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启PNR功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_NR¶
【说明】
定义TalkVqeV2 NR功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_NR 0x2
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启NR功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_EQ¶
【说明】
定义TalkVqeV2 EQ功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_EQ 0x4
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启EQ功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_AGC¶
【说明】
定义TalkVqeV2 AGC功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_AGC 0x8
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启AGC功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_DRC¶
【说明】
定义TalkVqeV2 DRC功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_DRC 0x10
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启DRC功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_LIMITER¶
【说明】
定义TalkVqeV2 LIMITER功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_LIMITER 0x20
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启LIMITER功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_DEREVERB¶
【说明】
定义TalkVqeV2 DEREVERB功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_DEREVERB 0x40
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启DEREVERB功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_FMP¶
【说明】
定义TalkVqeV2 FMP功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_FMP 0x80
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启FMP功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_WNR¶
【说明】
定义TalkVqeV2 WNR功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_WNR 0x100
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启WNR功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_AEC¶
【说明】
定义TalkVqeV2 AEC功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_AEC 0x200
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启AEC功能。如open_mask = OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AI_TALKVQEV2_MASK_HS¶
【说明】
定义TalkVqeV2 HS功能的Mask。
【定义】
#define OT_AI_TALKVQEV2_MASK_HS 0x400
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ai_talk_vqe_v2_cfg结构体成员open_mask表示开启HS功能。如open_mask =OT_AI_TALKVQEV2_MASK_PNR | OT_AI_TALKVQEV2_MASK_NR;表示开启PNR和NR功能。
OT_AO_VQE_MASK_HPF¶
【说明】
定义AO VQE HPF功能的Mask。
【定义】
#define OT_AO_VQE_MASK_HPF 0x1
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ao_vqe_cfg结构体成员open_mask表示开启HPF功能。如open_mask = OT_AO_VQE_MASK_AGC | OT_AO_VQE_MASK_HPF;表示开启AGC和HPF功能。
OT_AO_VQE_MASK_ANR¶
【说明】
定义AO VQE ANR功能的Mask。
【定义】
#define OT_AO_TALKVQE_MASK_ANR 0x2
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ao_vqe_cfg结构体成员open_mask表示开启ANR 功能。如open_mask = OT_AO_VQE_MASK_AGC | OT_AO_VQE_MASK_ANR;表示开启AGC和ANR功能。
OT_AO_VQE_MASK_AGC¶
【说明】
定义AO VQE AGC功能的Mask。
【定义】
#define OT_AO_VQE_MASK_AGC 0x4
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ao_vqe_cfg结构体成员open_mask表示开启AGC 功能。如open_mask = OT_AO_VQE_MASK_AGC | OT_AO_VQE_MASK_EQ;表示开启AGC和EQ 功能。
OT_AO_VQE_MASK_EQ¶
【说明】
定义AO VQE EQ功能的Mask。
【定义】
#define OT_AO_VQE_MASK_EQ 0x8
【注意事项】
无。
【相关数据类型及接口】
赋值给ot_ao_vqe_cfg结构体成员open_mask表示开启EQ功能。如open_mask = OT_AO_VQE_MASK_AGC | OT_AO_VQE_MASK_EQ;表示开启AGC和EQ 功能。
OT_MAX_AUDIO_FILE_PATH_LEN¶
【说明】
定义音频保存文件的路径的最大长度限制。
【定义】
#define OT_MAX_AUDIO_FILE_PATH_LEN 256
【注意事项】
无。
【相关数据类型及接口】
OT_MAX_AUDIO_FILE_NAME_LEN¶
【说明】
定义音频保存文件的名称的最大长度限制。
【定义】
#define OT_MAX_AUDIO_FILE_NAME_LEN 256
【注意事项】
无。
【相关数据类型及接口】
OT_AUDIO_FRAME_CHN_NUM¶
【说明】
定义存放音频数据的最大声道数。
【定义】
#define OT_AUDIO_FRAME_CHN_NUM 2
【注意事项】
无。
【相关数据类型及接口】
OT_VQE_EQ_BAND_NUM¶
【说明】
定义EQ功能可调节的频段数。
【定义】
#define OT_VQE_EQ_BAND_NUM 10
【注意事项】
无。
【相关数据类型及接口】
OT_VQE_DRC_SEC_NUM¶
【说明】
定义DRC动态曲线可配置级数。
【定义】
#define OT_VQE_DRC_SEC_NUM 5
【注意事项】
无。
【相关数据类型及接口】
OT_AEC_ERL_BAND_NUM¶
【说明】
定义AEC功能ERL保护频段的数目。
【定义】
#define OT_AEC_ERL_BAND_NUM 6
【注意事项】
无。
【相关数据类型及接口】
OT_AEC_ERL_BAND_VALUE_NUM¶
【说明】
定义AEC功能ERL保护频段值的数目。
【定义】
#define OT_AEC_ERL_BAND_VALUE_NUM 7
【注意事项】
无。
【相关数据类型及接口】
OT_TALKVQEV2_EQ_BAND_NUM¶
【说明】
定义TalkVqeV2 EQ功能可调节的频段数。
【定义】
#define OT_TALKVQEV2_EQ_BAND_NUM 30
【注意事项】
无。
【相关数据类型及接口】
ot_audio_clk_select¶
【说明】
定义音频时钟源。
【定义】
typedef enum {
OT_AUDIO_CLK_SELECT_BASE = 0, /* Audio base clk. */
OT_AUDIO_CLK_SELECT_SPARE, /* Audio spare clk. */
OT_AUDIO_CLK_SELECT_BUTT,
} ot_audio_clk_select;
【成员】
【注意事项】
默认时钟源SPLL的音频质量更好,但是当其他模块(如AO/MIPI)使用SPLL时,需要切换到备用时钟源VPLL。
【相关数据类型及接口】
无
ot_audio_sample_rate¶
【说明】
定义音频采样率。
【定义】
typedef enum {
OT_AUDIO_SAMPLE_RATE_8000 = 8000, /* 8kHz sample rate */
OT_AUDIO_SAMPLE_RATE_12000 = 12000, /* 12kHz sample rate */
OT_AUDIO_SAMPLE_RATE_11025 = 11025, /* 11.025kHz sample rate */
OT_AUDIO_SAMPLE_RATE_16000 = 16000, /* 16kHz sample rate */
OT_AUDIO_SAMPLE_RATE_22050 = 22050, /* 22.05kHz sample rate */
OT_AUDIO_SAMPLE_RATE_24000 = 24000, /* 24kHz sample rate */
OT_AUDIO_SAMPLE_RATE_32000 = 32000, /* 32kHz sample rate */
OT_AUDIO_SAMPLE_RATE_44100 = 44100, /* 44.1kHz sample rate */
OT_AUDIO_SAMPLE_RATE_48000 = 48000, /* 48kHz sample rate */
OT_AUDIO_SAMPLE_RATE_64000 = 64000, /* 64kHz sample rate */
OT_AUDIO_SAMPLE_RATE_96000 = 96000, /* 96kHz sample rate */
OT_AUDIO_SAMPLE_RATE_BUTT,
} ot_audio_sample_rate;
【成员】
【注意事项】
这里枚举值不是从0开始,而是与实际的采样率值相同。
96kHz的采样率仅适用于AI采集、AO播放,不支持96kHz采样率的数据做重采样、VQE等处理。
【相关数据类型及接口】
ot_audio_bit_width¶
【说明】
定义音频采样精度。
【定义】
typedef enum {
OT_AUDIO_BIT_WIDTH_8 = 0, /* 8bit width */
OT_AUDIO_BIT_WIDTH_16 = 1, /* 16bit width */
OT_AUDIO_BIT_WIDTH_24 = 2, /* 24bit width */
OT_AUDIO_BIT_WIDTH_BUTT,
} ot_audio_bit_width;
【成员】
【注意事项】
SS528V100/SS524V100/SS928V100/SS626V100支持16bit/24bit位宽。
【相关数据类型及接口】
ot_aio_mode¶
【说明】
定义音频输入输出设备工作模式。
【定义】
typedef enum {
OT_AIO_MODE_I2S_MASTER = 0, /* AIO I2S master mode */
OT_AIO_MODE_I2S_SLAVE, /* AIO I2S slave mode */
OT_AIO_MODE_PCM_SLAVE_STD, /* AIO PCM slave standard mode */
OT_AIO_MODE_PCM_SLAVE_NON_STD, /* AIO PCM slave non-standard mode */
OT_AIO_MODE_PCM_MASTER_STD, /* AIO PCM master standard mode */
OT_AIO_MODE_PCM_MASTER_NON_STD, /* AIO PCM master non-standard mode */
OT_AIO_MODE_BUTT
} ot_aio_mode;
【成员】
【注意事项】
对接内置Audio Codec时,只支持I2S主模式。
【相关数据类型及接口】
ot_aio_i2s_type¶
【说明】
定义设备I2S对接设备类型。
【定义】
typedef enum {
OT_AIO_I2STYPE_INNERCODEC = 0, /* AIO I2S connect inner audio CODEC */
OT_AIO_I2STYPE_INNERHDMI, /* AIO I2S connect Inner HDMI */
OT_AIO_I2STYPE_EXTERN, /* AIO I2S connect extern hardware */
} ot_aio_i2s_type;
【成员】
【注意事项】
i2s_type可以配置I2S对接设备的类型属性,其具体对应关系如下表所示。
【相关数据类型及接口】
ot_audio_snd_mode¶
【说明】
定义音频声道模式。
【定义】
typedef enum {
OT_AUDIO_SOUND_MODE_MONO = 0, /* mono */
OT_AUDIO_SOUND_MODE_STEREO = 1, /* stereo */
OT_AUDIO_SOUND_MODE_BUTT
} ot_audio_snd_mode;
【成员】
【注意事项】
音频声道分为stereo模式和mono模式:
对于stereo模式
使能左通道时对应的右通道亦会同步使能;
通过获取帧接口获取到的音频帧结构体中左、右声道均有数据,即virt_addr[0]和virt_addr[1]均有效。
对于mono模式
只会使能当前通道。
通过获取帧接口获取到的音频帧结构体中仅左声道有数据,即virt_addr[0]有效,virt_addr[1]为空。
例如对于需要开启2通道的情况:
如果使用mono模式,则需要分别使能两个通道,并分别通过获取帧接口获取音频数据;
如果使用stereo模式,则只需要使能通道0,通过获取帧接口可同时获取两通道的音频数据。
I2S模式下,左右声道对应的通道请查看“音频接口时序和AI、AO通道排列”小节,以立体声为例,左声道对应通道0,右声道对应通道1。
对AI来说,单声道默认从左声道输入,如果需要配置为右声道输入,可以考虑两种方法:
仅打开右声道并处理。
打开左右声道,按左声道处理,使用ss_mpi_ai_set_track_mode配置AI声道模式为“OT_AUDIO_TRACK_EXCHANGE”。
对AO来说,单声道默认从左声道输出,如果需要配置为右声道输出,可以考虑两种方法:
仅打开右声道并处理。
打开左右声道,按左声道处理,使用ss_mpi_ao_set_track_mode配置AO声道模式为“OT_AUDIO_TRACK_EXCHANGE”。
对于双声道模式,只应对左声道(即编号小于设备属性中通道数chn_cnt一半的通道)进行操作,SDK内部会自动对右声道也进行相应的操作。
【相关数据类型及接口】
ot_audio_mod_param¶
【说明】
定义音频模块参数结构体。
【定义】
typedef struct {
ot_audio_clk_select clk_select;
} ot_audio_mod_param;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_aio_attr¶
【说明】
定义音频输入输出设备属性结构体。
【定义】
typedef struct {
ot_audio_sample_rate sample_rate; /* sample rate */
ot_audio_bit_width bit_width; /* bit_width */
ot_aio_mode work_mode; /* master or slave mode */
ot_audio_snd_mode snd_mode; /* mono or stereo */
td_u32 expand_flag;
td_u32 frame_num; /* frame num in buf[2,OT_MAX_AUDIO_FRAME_NUM] */
td_u32 point_num_per_frame;
td_u32 chn_cnt; /* channle number on FS, valid value:1/2/4/8 */
td_u32 clk_share;
ot_aio_i2s_type i2s_type; /* i2s type */
} ot_aio_attr;
【成员】
|
|
|
取值范围:[2, OT_MAX_AUDIO_FRAME_NUM]。 |
|
|
取值范围:G711、G726、ADPCM_DVI4编码时取值为80、160、240、320、480;ADPCM_IMA编码时取值为81、161、241、321、481。 |
|
|
(内置Codec输入最多支持2个通道,外置Codec输入最多支持OT_AI_MAX_CHN_NUM个通道;内置Codec输出最多支持2个通道,外置Codec输出最多支持OT_AO_MAX_CHN_NUM – 1个通道)。 |
|
|
AI取值:OT_AIO_I2STYPE_INNERCODEC, OT_AIO_I2STYPE_EXTERN AO取值:OT_AIO_I2STYPE_INNERCODEC, OT_AIO_I2STYPE_EXTERN,OT_AIO_I2STYPE_INNERHDMI。 |
【注意事项】
每帧的采样点个数point_num_per_frame和采样率sample_rate的取值决定了硬件产生中断的频率,频率过高会影响系统的性能,跟其他业务也会相互影响,建议这两个参数的取值满足算式:(point_num_per_frame*1000)/ sample_rate>=10,比如在采样率为16000Hz时,建议设置采样点个数大于或者等于160。
【相关数据类型及接口】
ss_mpi_ai_set_pub_attr
ss_mpi_ao_set_pub_attr
ot_ai_chn_param¶
【说明】
定义通道参数结构体。
【定义】
typedef struct {
td_u32 usr_frame_depth;
} ot_ai_chn_param;
【成员】
音频帧缓存深度。该参数取值范围:[2, frame_num], 并且不能大于30。 frame_num请参见ot_aio_attr。 |
【注意事项】
无。
【相关数据类型及接口】
无。
ot_audio_frame¶
【说明】
定义音频帧结构体。
【定义】
typedef struct {
ot_audio_bit_width bit_width; /* audio frame bit_width */
ot_audio_snd_mode snd_mode; /* audio frame mono or stereo mode */
td_u8 ATTRIBUTE * virt_addr[OT_AUDIO_FRAME_CHN_NUM];
ot_phys_addr_t ATTRIBUTE phys_addr[OT_AUDIO_FRAME_CHN_NUM];
td_u64 time_stamp; /* audio frame time stamp */
td_u32 seq; /* audio frame seq */
td_u32 len; /* data lenth per channel in frame */
td_u32 pool_id[OT_AUDIO_FRAME_CHN_NUM];
} ot_audio_frame;
【成员】
【注意事项】
len(音频帧长度)指单个声道的数据长度。
单声道数据存放的虚拟地址为virt_addr [0],长度为len;立体声数据按左右声道分开存放,虚拟地址virt_addr [0]存放长度为len的左声道数据,虚拟地址virt_addr [1]存放长度为len的右声道数据。
【相关数据类型及接口】
无。
ot_aec_frame¶
【说明】
定义音频回声抵消参考帧信息结构体。
【定义】
typedef struct {
ot_audio_frame ref_frame; /* AEC reference audio frame */
td_bool valid; /* whether frame is valid */
td_bool sys_bind; /* whether is sysbind */
} ot_aec_frame;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_audio_agc_cfg¶
【说明】
定义音频自动增益控制配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s8 target_level;
td_s8 noise_floor;
td_s8 max_gain;
td_s8 adjust_speed;
td_s8 improve_snr;
td_s8 use_hpf;
td_s8 output_mode;
td_s16 noise_suppress_switch;
td_s32 reserved;
} ot_audio_agc_cfg;
【成员】
噪声底线;范围:TalkVQE/AO VQE [-65, -20]dB, RecordVQE [-50, -20]dB;调整步长1dB。 |
|
打开高通滤波标志,该值为配置AGC内置高通滤波截止频率;范围:[0:关闭, 1:80Hz, 2:120Hz, 3:150Hz, 4:300Hz, 5:500Hz] |
|
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_cfg/ot_ao_vqe_cfg/ot_ai_record_vqe_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
ot_ai_talk_vqe_cfg/ot_ao_vqe_cfg/ot_ai_record_vqe_cfg中的AGC只支持对信号电平进行放大,不支持对信号电平进行缩小。
【相关数据类型及接口】
ot_ai_aec_cfg¶
【说明】
定义音频回声抵消配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s8 cozy_noisy_mode; /* cozy-noisy mode:0 close,1 open, default 1*/
td_s8 near_all_pass_energy;
td_s8 near_clean_sup_energy;
td_s16 double_talk_threshold;
td_s16 echo_band_low;
td_s16 echo_band_high;
td_s16 echo_band_low2;
td_s16 echo_band_high2;
td_s16 erl_band[OT_AEC_ERL_BAND_NUM];
td_s16 erl[OT_AEC_ERL_BAND_VALUE_NUM];
td_s16 voice_protect_freq_l;
td_s16 voice_protect_freq_l1;
td_s32 reserved;
} ot_ai_aec_cfg;
【成员】
【注意事项】
当用户模式开启时,其他参数才生效,否则按照ot_ai_talk_vqe_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_audio_anr_cfg¶
【说明】
定义音频语音降噪功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s16 nr_intensity;
td_s16 noise_db_threshold;
td_s8 music_probe_switch;
td_s32 reserved;
} ot_audio_anr_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_cfg /ot_ao_vqe_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_audio_hpf_freq¶
【说明】
定义音频高通滤波截止频率。
【定义】
typedef enum {
OT_AUDIO_HPF_FREQ_80 = 80, /* 80Hz */
OT_AUDIO_HPF_FREQ_120 = 120, /* 120Hz */
OT_AUDIO_HPF_FREQ_150 = 150, /* 150Hz */
OT_AUDIO_HPF_FREQ_BUTT,
} ot_audio_hpf_freq;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_audio_hpf_cfg¶
【说明】
定义音频高通滤波功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
ot_audio_hpf_freq hpf_freq; /* freq to be processed */
} ot_audio_hpf_cfg;
【成员】
【注意事项】
当用户模式开启时,高级参数才生效,否则按照ot_ai_talk_vqe_cfg/ot_ao_vqe_cfg/ot_ai_record_vqe_cfg中的工作模式对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_rnr_cfg¶
【说明】
定义音频录音噪声消除功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode; /* mode 0: auto, mode 1: mannual. */
td_s32 nr_mode; /* mode 0: floor noise; 1:ambient noise */
td_s32 max_nr_level; /* max NR level range:[2,20]dB */
td_s32 noise_threshold; /* noise threshold, range:[-80, -20] */
} ot_ai_rnr_cfg;
【成员】
【注意事项】
当用户模式开启时,高级参数才生效,否则按照ot_ai_record_vqe_cfg中的工作模式对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
当nr_mode为1时,不支持48kHz工作采样率(work_sample_rate)。
【相关数据类型及接口】
无
ot_vqe_work_state¶
【说明】
定义声音质量增强的工作模式。
【定义】
typedef enum {
OT_VQE_WORK_STATE_COMMON = 0,
OT_VQE_WORK_STATE_MUSIC = 1,
OT_VQE_WORK_STATE_NOISY = 2,
} ot_vqe_work_state;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_vqe_record_type¶
【说明】
定义录音类型。
【定义】
typedef enum {
OT_VQE_RECORD_NORMAL = 0,
OT_VQE_RECORD_BUTT,
} ot_vqe_record_type;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_audio_eq_cfg¶
【说明】
定义音频均衡器功能配置信息结构体。
【定义】
typedef struct {
td_s8 gain_db[OT_VQE_EQ_BAND_NUM];
td_s32 reserved;
} ot_audio_eq_cfg;
【成员】
EQ频段增益调节,频段依次为100Hz,200Hz, 250Hz, 350Hz, 500Hz, 800Hz, 1.2kHz, 2.5kHz, 4kHz, 8kHz.其中,8kHz只有在工作采样率配置为16kHz时有效。每个频段取值范围:TalkVQE/AO VQE [-100, 20]dB, RecordVQE [-50, 20]dB;调整步长1dB。 |
|
【注意事项】
该功能没有自动模式,需通过高级参数的配置生效。
【相关数据类型及接口】
无。
ot_ai_hdr_cfg¶
【说明】
定义音频高动态范围功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s32 min_gain_db;
td_s32 max_gain_db;
td_s32 mic_gain_db;
td_s32 mic_gain_step_db;
func_gain_call_back callback;
} ot_ai_hdr_cfg;
【成员】
【注意】
该功能需要用户根据CODEC配置相应的参数。
当用户模式开启时,高级参数才生效,否则按照ot_ai_record_vqe_cfg中的工作模式对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
无
ot_ai_drc_cfg¶
【说明】
定义音频自动音量控制功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s16 attack_time;
td_s16 release_time;
td_s16 old_level_db[OT_VQE_DRC_SEC_NUM];
td_s16 new_level_db[OT_VQE_DRC_SEC_NUM];
} ot_ai_drc_cfg;
【成员】
【注意】
当用户模式开启时,高级参数才生效,否则按照ot_ai_record_vqe_cfg中的工作模式对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
无
ot_ai_talk_v2_pnr_cfg¶
【说明】
定义音频TalkVqeV2二次降噪功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s16 min_gain_limit;
td_s16 snr_prior_limit;
td_s16 ht_threshold;
td_s16 hs_threshold;
td_s16 alpha_ph;
td_s16 alpha_psd;
td_s16 prior_snr_fixed;
td_s16 cep_threshold;
td_s16 cep_amp;
td_s16 low_freq_protect;
td_s16 speech_protect_threshold;
td_s16 hem_enable;
td_s16 tcs_enable;
td_s16 reserved[3];
} ot_ai_talk_v2_pnr_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_v2_nr_cfg¶
【说明】
定义音频TalkVqeV2降噪功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s16 min_gain_limit;
td_s16 snr_prior_limit;
td_s16 ht_threshold;
td_s16 hs_threshold;
td_s16 prior_snr;
td_s16 snr_smooth_factor;
td_s16 speech_prob_smooth_factor;
td_s16 noise_pwr_smooth_factor;
td_s8 low_freq_suppress_enable;
td_s8 low_freq_gain_suppress;
td_s16 env_mode;
td_s16 reserved[6];
} ot_ai_talk_v2_nr_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_v2_agc_cfg¶
【说明】
定义音频TalkVqeV2自动增益控制功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s8 target_level;
td_u8 max_gain;
td_s8 min_gain;
td_s16 up_gradient_ratio;
td_s16 down_gradient_ratio;
td_s16 decay;
td_s32 vad_threshold;
td_s16 vad_ctrl;
td_s16 reserved[3];
} ot_ai_talk_v2_agc_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式enWorkstate对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_v2_eq_cfg¶
【说明】
定义音频TalkVqeV2均衡器功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s8 gain_db[OT_TALKVQEV2_EQ_BAND_NUM];
} ot_ai_talk_v2_eq_cfg;
【成员】
|
60,100,150,200,250,350,500,800,1200,1600,2000,2400,2500,2800,3100,3400,3600,3800,3900,4000,4500,5000,5500,6000,6500,7000,7300,7600,7800,8000。每个频段取值范围为 [-50, 20]dB;调整步长为1dB。 |
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_v2_aec_cfg¶
【说明】
定义音频TalkVqeV2回声抵消功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_u16 pure_delay;
td_u16 switch_nlp;
td_u16 band1;
td_u16 band2;
td_u16 band3;
td_u16 band4;
td_u16 gain_lower_limit1;
td_u16 gain_lower_limit2;
td_u16 gain_lower_limit3;
td_u16 gain_lower_limit4;
td_u16 gain_lower_limit5;
td_u16 reserved[9];
} ot_ai_talk_v2_aec_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_v2_wnr_cfg¶
【说明】
定义音频TalkVqeV2降风噪功能配置信息结构体。
【定义】
typedef struct {
td_s8 reserved[6]; /* 6: reserved */
} ot_ai_talk_v2_wnr_cfg;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_ai_talk_v2_fmp_cfg¶
【说明】
定义音频TalkVqeV2并行处理功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s8 comfort_flag;
td_s8 comfort_intensity;
} ot_ai_talk_v2_fmp_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_v2_hs_cfg¶
【说明】
定义音频TalkVqeV2抗啸叫功能配置信息结构体。
【定义】
typedef struct {
td_bool usr_mode;
td_s32 hold_time;
td_s32 min_gain;
td_s32 threshold;
td_s32 smooth_time;
td_s32 freq_move;
td_u16 reserved[4];
} ot_ai_talk_v2_hs_cfg;
【成员】
【注意事项】
当用户模式开启时,以上各个高级参数才生效,否则按照ot_ai_talk_vqe_v2_cfg中的工作模式work_state对应的默认值来配置。
配置参数时,只有在用户模式开启时,才会对高级参数做正确性检查,只有正确的高级参数才能配置成功。
【相关数据类型及接口】
ot_ai_talk_vqe_cfg¶
【说明】
定义音频输入声音质量增强(Talk)配置信息结构体。
【定义】
typedef struct {
td_u32 open_mask;
td_s32 work_sample_rate;
td_s32 frame_sample;
ot_vqe_work_state work_state;
ot_audio_hpf_cfg hpf_cfg;
ot_ai_aec_cfg aec_cfg;
ot_audio_anr_cfg anr_cfg;
ot_audio_agc_cfg agc_cfg;
ot_audio_eq_cfg eq_cfg;
} ot_ai_talk_vqe_cfg;
【成员】
【注意事项】
TalkVQE各个场景模式下的默认参数配置如表1所示。
表 1 TalkVQE各个场景模式下的默认参数配置表
【相关数据类型及接口】
无。
ot_ai_record_vqe_cfg¶
【说明】
定义音频输入声音质量增强(Record)配置信息结构体。
【定义】
typedef struct {
td_u32 open_mask;
td_s32 work_sample_rate;
td_s32 frame_sample;
ot_vqe_work_state work_state;
td_s32 in_chn_num;
td_s32 out_chn_num;
ot_vqe_record_type record_type;
ot_audio_hpf_cfg hpf_cfg;
ot_ai_rnr_cfg rnr_cfg;
ot_ai_hdr_cfg hdr_cfg;
ot_ai_drc_cfg drc_cfg;
ot_audio_eq_cfg eq_cfg;
ot_audio_agc_cfg agc_cfg;
} ot_ai_record_vqe_cfg;
【成员】
【注意事项】
RecordVQE各个场景模式下的默认参数配置如RecordVQE各个场景模式下的默认参数配置表所示。
表 1 RecordVQE各个场景模式下的默认参数配置表
各解决方案对RecordVQE接口支持情况请参考Vqe、HiFiVqe、TalkVqe和RecordVqe接口支持情况表。
当前仅支持in_chn_num等于out_chn_num的设置。
当AI设备的声道属性为OT_AUDIO_SOUND_MODE_MONO时,in_chn_num、out_chn_num需设置为1;
当AI设备的声道属性为OT_AUDIO_SOUND_MODE_STEREO时,in_chn_num、out_chn_num需设置为2。
HDR需要在有内置audio codec的前提下,才能配置为自动模式。
【相关数据类型及接口】
无。
ot_ai_talk_vqe_v2_cfg¶
【说明】
定义音频输入声音质量增强(Talk V2)配置信息结构体。
【定义】
typedef struct {
td_u32 open_mask;
td_s32 work_sample_rate;
td_s32 frame_sample;
ot_vqe_work_state work_state;
td_s32 in_chn_num;
td_s32 out_chn_num;
ot_ai_talk_v2_pnr_cfg pnr_cfg;
ot_ai_talk_v2_nr_cfg nr_cfg;
ot_ai_talk_v2_agc_cfg agc_cfg;
ot_ai_talk_v2_eq_cfg eq_cfg;
ot_ai_talk_v2_fmp_cfg fmp_cfg;
ot_ai_talk_v2_aec_cfg aec_cfg;
ot_ai_talk_v2_wnr_cfg wnr_cfg;
ot_ai_talk_v2_hs_cfg hs_cfg;
td_u8 reserved[8];
} ot_ai_talk_vqe_v2_cfg
【成员】
【注意事项】
Talk Vqe V2目前只支持OT_VQE_WORK_STATE_COMMON场景模式,其默认参数配置如表1所示。
表 1 Talk Vqe V2各个场景模式下的默认参数配置表
【相关数据类型及接口】
无。
ot_ao_vqe_cfg¶
【说明】
定义音频输出声音质量增强配置信息结构体。
【定义】
typedef struct {
td_u32 open_mask;
td_s32 work_sample_rate;
td_s32 frame_sample;
ot_vqe_work_state work_state;
ot_audio_hpf_cfg hpf_cfg;
ot_audio_anr_cfg anr_cfg;
ot_audio_agc_cfg agc_cfg;
ot_audio_eq_cfg eq_cfg;
} ot_ao_vqe_cfg;
【成员】
【注意事项】
DnVQE各个场景模式下的默认参数配置如表1所示。
表 1 DnVQE各个场景模式下的默认参数配置表
【相关数据类型及接口】
无。
ot_vqe_mod_cfg¶
【说明】
定义声音质量增强及重采样模块配置信息结构体。
【定义】
typedef struct {
td_void *handle;
} ot_vqe_mod_cfg;
【成员】
【注意事项】
对于各声音质量增强及重采样模块的注册句柄,用户可通过调用句柄获取接口进行获取。
【相关数据类型及接口】
无。
ot_audio_vqe_register¶
【说明】
定义声音质量增强及重采样模块注册结构体。
【定义】
typedef struct {
ot_vqe_mod_cfg resample_mod_cfg;
ot_vqe_mod_cfg hpf_mod_cfg;
ot_vqe_mod_cfg hdr_mod_cfg;
ot_vqe_mod_cfg gain_mod_cfg;
ot_vqe_mod_cfg record_mod_cfg;
ot_vqe_mod_cfg aec_mod_cfg;
ot_vqe_mod_cfg anr_mod_cfg;
ot_vqe_mod_cfg agc_mod_cfg;
ot_vqe_mod_cfg eq_mod_cfg;
ot_vqe_mod_cfg rnr_mod_cfg;
ot_vqe_mod_cfg drc_mod_cfg;
ot_vqe_mod_cfg peq_mod_cfg;
ot_vqe_mod_cfg talkv2_mod_cfg;
ot_vqe_mod_cfg wnr_mod_cfg;
} ot_audio_vqe_register;
【成员】
【注意事项】
各模块的功能说明请参考VQE库的应用关系表。
各解决方案对声音质量增强及重采样模块的支持情况请参考Vqe、HiFiVqe、TalkVqe和RecordVqe接口支持情况表。
【相关数据类型及接口】
无。
ot_audio_stream¶
【说明】
定义音频码流结构体。该结构体的定义在不同解决方案平台上略有不同。具体见下面的描述。
【定义】
typedef struct {
td_u8 ATTRIBUTE *stream; /* the virtual address of stream */
td_u64 ATTRIBUTE phys_addr; /* the physics address of stream */
td_u32 len; /* stream lenth, by bytes */
td_u64 time_stamp; /* frame time stamp */
td_u32 seq; /* frame seq, if stream is not a valid
frame,seq is 0 */
} ot_audio_stream;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ss_mpi_aenc_get_stream
ot_ao_chn_state¶
【说明】
音频输出通道的数据缓存状态结构体。
【定义】
typedef struct {
td_u32 chn_total_num;
td_u32 chn_free_num;
td_u32 chn_busy_num;
} ot_ao_chn_state;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ss_mpi_ao_query_chn_stat
ot_audio_track_mode¶
【说明】
定义音频设备声道模式类型。
【定义】
typedef enum {
OT_AUDIO_TRACK_NORMAL = 0,
OT_AUDIO_TRACK_BOTH_LEFT = 1,
OT_AUDIO_TRACK_BOTH_RIGHT = 2,
OT_AUDIO_TRACK_EXCHANGE = 3,
OT_AUDIO_TRACK_MIX = 4,
OT_AUDIO_TRACK_LEFT_MUTE = 5,
OT_AUDIO_TRACK_RIGHT_MUTE = 6,
OT_AUDIO_TRACK_BOTH_MUTE = 7,
OT_AUDIO_TRACK_BUTT
} ot_audio_track_mode;
【成员】
【注意事项】
对于I2S多路复用的应用场景,设置声道模式无效。
【相关数据类型及接口】
ss_mpi_ai_set_track_mode
ss_mpi_ao_set_track_mode
ot_audio_fade_rate¶
【说明】
定义音频输出设备淡入淡出速度类型。
【定义】
typedef enum {
OT_AUDIO_FADE_RATE_1 = 0,
OT_AUDIO_FADE_RATE_2 = 1,
OT_AUDIO_FADE_RATE_4 = 2,
OT_AUDIO_FADE_RATE_8 = 3,
OT_AUDIO_FADE_RATE_16 = 4,
OT_AUDIO_FADE_RATE_32 = 5,
OT_AUDIO_FADE_RATE_64 = 6,
OT_AUDIO_FADE_RATE_128 = 7,
OT_AUDIO_FADE_RATE_BUTT
} ot_audio_fade_rate;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_audio_fade¶
【说明】
音频输出设备淡入淡出配置结构体。
【定义】
typedef struct {
td_bool fade;
ot_audio_fade_rate fade_in_rate;
ot_audio_fade_rate fade_out_rate;
} ot_audio_fade;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ss_mpi_ao_set_mute
ot_g726_bps¶
【说明】
定义G.726编解码协议速率。
【定义】
typedef enum {
OT_G726_16K = 0, /* G726 16kbps, see RFC3551.txt 4.5.4 G726-16 */
OT_G726_24K, /* G726 24kbps, see RFC3551.txt 4.5.4 G726-24 */
OT_G726_32K, /* G726 32kbps, see RFC3551.txt 4.5.4 G726-32 */
OT_G726_40K, /* G726 40kbps, see RFC3551.txt 4.5.4 G726-40 */
OT_MEDIA_G726_16K, /* G726 16kbps for ASF ... */
OT_MEDIA_G726_24K, /* G726 24kbps for ASF ... */
OT_MEDIA_G726_32K, /* G726 32kbps for ASF ... */
OT_MEDIA_G726_40K, /* G726 40kbps for ASF ... */
OT_G726_BUTT,
} ot_g726_bps;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_adpcm_type¶
【说明】
定义ADPCM编解码协议类型。
【定义】
typedef enum {
OT_ADPCM_TYPE_DVI4 = 0,
OT_ADPCM_TYPE_IMA,
OT_ADPCM_TYPE_ORG_DVI4,
OT_ADPCM_TYPE_BUTT,
} ot_adpcm_type;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_audio_save_file_info¶
【说明】
定义音频保存文件功能配置信息结构体。
【定义】
typedef struct {
td_bool cfg;
td_char file_path[OT_MAX_AUDIO_FILE_PATH_LEN];
td_char file_name[OT_MAX_AUDIO_FILE_NAME_LEN];
td_u32 file_size; /* in KB */
} ot_audio_save_file_info;
【成员】
file_path[OT_MAX_AUDIO_FILE_PATH_LEN] |
|
file_name[OT_MAX_AUDIO_FILE_NAME_LEN] |
|
【注意事项】
file_path默认使用当前位置,file_name默认使用“default”, file_size默认使用1M。其中file_name只是保存音频文件真正文件名的一部分,例如AI0 通道0在8k采样率下采用默认文件名保存的三个文件的真正名字为:sin_ai_dev0_chn0_8k_default.pcm、rin_ai_dev0_chn0_8k_default.pcm、sou_ai_dev0_chn0_8k_default.pcm。
【相关数据类型及接口】
无。
ot_audio_file_status¶
【说明】
定义音频文件保存状态结构体。
【定义】
typedef struct {
td_bool saving;
} ot_audio_file_status;
【成员】
|
【注意事项】
无。
【相关数据类型及接口】
无。
ot_ai_chn_mode¶
【说明】
定义AI通道的工作模式。
【定义】
typedef enum {
OT_AI_CHN_MODE_NORMAL = 0, /* normal mode for AI chn */
OT_AI_CHN_MODE_FAST, /* fast mode for AI chn */
OT_AI_CHN_MODE_BUTT,
} ot_ai_chn_mode;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_ai_chn_attr¶
【说明】
定义AI通道属性结构体。
【定义】
typedef struct {
ot_ai_chn_mode mode; /* operating mode */
} ot_ai_chn_attr;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
音频编码¶
音频编码相关数据类型、数据结构定义如下:
OT_AENC_MAX_CHN_NUM:定义音频编码通道的最大个数。
OT_MAX_ENCODER_NAME_LEN:定义音频编码器名称最大长度
ot_aenc_attr_g711:定义G.711编码协议属性结构体。
ot_aenc_attr_g726:定义G.726编码协议属性结构体。
ot_aenc_attr_adpcm:定义ADPCM编码协议属性结构体。
ot_aenc_attr_lpcm:定义LPCM编码协议属性结构体。
ot_aenc_chn_attr:定义音频编码通道属性结构体。
ot_aenc_encoder:定义编码器属性结构体。
OT_AENC_MAX_CHN_NUM¶
【说明】
定义音频编码通道的最大个数。
【定义】
SS528V100/SS524V100/SS626V100:
#define OT_AENC_MAX_CHN_NUM 49
SS928V100:
#define OT_AENC_MAX_CHN_NUM 32
【注意事项】
无。
【相关数据类型及接口】
无
OT_MAX_ENCODER_NAME_LEN¶
【说明】
定义音频编码器名称最大长度。
【定义】
#define OT_MAX_ENCODER_NAME_LEN 17
【注意事项】
无。
【相关数据类型及接口】
ot_aenc_attr_g711¶
【说明】
定义G.711编码协议属性结构体。
【定义】
typedef struct {
td_u32 reserved;
} ot_aenc_attr_g711;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_aenc_attr_g726¶
【说明】
定义G.726编码协议属性结构体。
【定义】
typedef struct {
ot_g726_bps g726bps;
} ot_aenc_attr_g726;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_aenc_attr_adpcm¶
【说明】
定义ADPCM编码协议属性结构体。
【定义】
typedef struct {
ot_adpcm_type adpcm_type;
} ot_aenc_attr_adpcm;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_aenc_attr_lpcm¶
【说明】
定义LPCM编码协议属性结构体。
【定义】
typedef struct {
td_u32 reserved; /* reserve item */
} ot_aenc_attr_lpcm;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_aenc_chn_attr¶
【说明】
定义音频编码通道属性结构体。该结构体的定义在不同解决方案平台上略有不同。具体见下面的描述。
【定义】
typedef struct {
ot_payload_type type;
td_u32 point_num_per_frame;
td_u32 buf_size; /* buf size[2~OT_MAX_AUDIO_FRAME_NUM] */
td_void ATTRIBUTE *value;
} ot_aenc_chn_attr;
【成员】
|
取值范围:[2, OT_MAX_AUDIO_FRAME_NUM],以帧为单位。 |
|
【注意事项】
无。
【相关数据类型及接口】
无。
ot_aenc_encoder¶
【说明】
定义编码器属性结构体。
【定义】
typedef struct {
ot_payload_type type;
td_u32 max_frame_len;
td_char name[OT_MAX_ENCODER_NAME_LEN];
td_s32 (*func_open_encoder)(td_void *encoder_attr,
td_void **encoder);
td_s32 (*func_enc_frame)(td_void *encoder,
const ot_audio_frame *data,
td_u8 *outbuf, td_u32 *out_len);
td_s32 (*func_close_encoder)(td_void *encoder);
} ot_aenc_encoder;
【成员】
【注意事项】
请参见《音频组件API参考》。
【相关数据类型及接口】
ss_mpi_aenc_register_encoder
音频解码¶
音频解码相关数据类型、数据结构定义如下:
OT_MAX_AUDIO_FRAME_NUM:定义最大音频解码缓存帧数。
OT_ADEC_MAX_CHN_NUM:定义音频解码通道的最大个数。
OT_MAX_DECODER_NAME_LEN:定义音频解码器名称最大长度。
ot_adec_attr_g711:定义G.711解码协议属性结构体。
ot_adec_attr_g726:定义G.726解码协议属性结构体。
ot_adec_attr_adpcm:定义ADPCM解码协议属性结构体。
ot_adec_attr_lpcm:定义LPCM解码协议属性结构体。
ot_adec_mode:定义解码方式。
ot_adec_chn_attr:定义解码通道属性结构体。
ot_adec_decoder:定义解码器属性结构体。
ot_audio_frame_info:定义解码后的音频帧信息结构体。
ot_adec_chn_state:定义音频解码通道的数据缓存状态结构体。
ot_adec_chn_param:定义音频解码通道状态结构体。
OT_MAX_AUDIO_FRAME_NUM¶
【说明】
定义最大音频解码缓存帧数。
【定义】
#define OT_MAX_AUDIO_FRAME_NUM 300
【注意事项】
无。
【相关数据类型及接口】
无。
OT_ADEC_MAX_CHN_NUM¶
【说明】
定义音频解码通道的最大个数。
【定义】
SS528V100/SS524V100/SS928V100/SS626V100:
#define OT_ADEC_MAX_CHN_NUM 32
【注意事项】
无。
【相关数据类型及接口】
无
OT_MAX_DECODER_NAME_LEN¶
【说明】
定义音频解码器名称最大长度。
【定义】
#define OT_MAX_DECODER_NAME_LEN 17
【注意事项】
无。
【相关数据类型及接口】
ot_adec_attr_g711¶
【说明】
定义G.711解码协议属性结构体。
【定义】
typedef struct {
td_u32 reserved;
} ot_adec_attr_g711;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_adec_attr_g726¶
【说明】
定义G.726解码协议属性结构体。
【定义】
typedef struct {
ot_g726_bps g726bps;
} ot_adec_attr_g726;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_adec_attr_adpcm¶
【说明】
定义ADPCM解码协议属性结构体。
【定义】
typedef struct {
ot_adpcm_type adpcm_type;
} ot_adec_attr_adpcm;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ot_adec_attr_lpcm¶
【说明】
定义LPCM解码协议属性结构体。
【定义】
typedef struct {
td_u32 reserved;
} ot_adec_attr_lpcm;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_adec_mode¶
【说明】
定义解码方式。
【定义】
typedef enum {
OT_ADEC_MODE_PACK = 0, /* require input is valid dec pack(a
complete frame encode result),
e.g.the stream get from AENC is a
valid dec pack, the stream know actually
pack len from file is also a dec pack.
this mode is high-performative */
OT_ADEC_MODE_STREAM, /* input is stream, low-performative,
if you couldn't find out whether a stream is
vaild dec pack,you could use
this mode */
OT_ADEC_MODE_BUTT
} ot_adec_mode;
【成员】
【注意事项】
pack方式用于用户确认当前码流包为一帧数据编码结果的情况下,解码器会直接进行对其解码,如果不是一帧,解码器会出错。这种模式的效率比较高,在使用AENC模块编码的码流包如果没有破坏,均可以使用此方式解码。
stream方式用于用户不能确认当前码流包是不是一帧数据的情况下,解码器需要对码流进行判断并缓存,此工作方式的效率低下,一般用于读文件码流送解码或者不确定码流包边界的情况。当然由于语音编码码流长度固定,很容易确定在码流中的帧边界,推荐使用pack方式解码。
【相关数据类型及接口】
无。
ot_adec_chn_attr¶
【说明】
定义解码通道属性结构体。该结构体的定义在不同解决方案平台上略有不同。具体见下面的描述。
【定义】
typedef struct {
ot_payload_type type;
td_u32 buf_size; /* buf size[2~OT_MAX_AUDIO_FRAME_NUM] */
ot_adec_mode mode; /* decode mode */
td_void ATTRIBUTE *value;
} ot_adec_chn_attr;
【成员】
|
取值范围:[2, OT_MAX_AUDIO_FRAME_NUM],以帧为单位。 |
|
【注意事项】
无。
【相关数据类型及接口】
无。
ot_adec_decoder¶
【说明】
定义解码器属性结构体。
【定义】
typedef struct {
ot_payload_type type;
td_char name[OT_MAX_DECODER_NAME_LEN];
td_s32 (*func_open_decoder)(td_void *decoder_attr, td_void **decoder);
td_s32 (*func_dec_frame)(td_void *decoder, td_u8 **inbuf, td_s32 *left_byte, td_u16 *outbuf, td_u32 *out_len, td_u32 *chns);
td_s32 (*func_get_frame_info)(td_void *decoder, td_void *info);
td_s32 (*func_close_decoder)(td_void *decoder);
td_s32 (*func_reset_decoder)(td_void *decoder);
} ot_adec_decoder;
【成员】
【注意事项】
请参见《音频组件API参考》。
【相关数据类型及接口】
ss_mpi_adec_register_decoder
ot_audio_frame_info¶
【说明】
定义解码后的音频帧信息结构体。
【定义】
typedef struct {
ot_audio_frame *frame;
td_u32 id;
} ot_audio_frame_info;
【成员】
【注意事项】
请参见《音频组件API参考》。
【相关数据类型及接口】
ss_mpi_adec_get_frame
ss_mpi_adec_release_frame
ot_adec_chn_state¶
【说明】
定义音频解码通道的数据缓存状态结构体。
【定义】
typedef struct {
td_bool end_of_stream;
td_u32 buf_total_num;
td_u32 buf_free_num;
td_u32 buf_busy_num;
} ot_adec_chn_state;
【成员】
ot_adec_chn_param¶
【说明】
定义音频解码通道状态结构体。
【定义】
typedef struct {
td_bool sys_bind_support;
} ot_adec_chn_param;
【成员】
【注意事项】
无。
【相关数据类型及接口】
ss_mpi_adec_query_chn_status
内置Audio Codec¶
内置Audio Codec相关数据类型、数据结构定义如下:
ot_acodec_fs:定义I2S接口的采样率选择。
ot_acodec_mixer:定义内置Audio Codec 输入选择。
ot_acodec_volume_ctrl:定义内置Audio Codec音量控制结构体。
ot_acodec_fs¶
【说明】
定义I2S接口的采样率选择。
【定义】
typedef enum {
OT_ACODEC_FS_8000 = 0x1,
OT_ACODEC_FS_11025 = 0x2,
OT_ACODEC_FS_12000 = 0x3,
OT_ACODEC_FS_16000 = 0x4,
OT_ACODEC_FS_22050 = 0x5,
OT_ACODEC_FS_24000 = 0x6,
OT_ACODEC_FS_32000 = 0x7,
OT_ACODEC_FS_44100 = 0x8,
OT_ACODEC_FS_48000 = 0x9,
OT_ACODEC_FS_64000 = 0xa,
OT_ACODEC_FS_96000 = 0xb,
OT_ACODEC_FS_BUTT = 0xc,
} ot_acodec_fs;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_acodec_mixer¶
【说明】
定义内置Audio Codec 输入选择。
【定义】
typedef enum {
OT_ACODEC_MIXER_IN0 = 0x0,
OT_ACODEC_MIXER_IN1 = 0x1,
OT_ACODEC_MIXER_IN_D = 0x2,
OT_ACODEC_MIXER_BUTT,
} ot_acodec_mixer
【成员】
【注意事项】
SS625V100/SS928V100/SS626V100的音频内置codec输入接口只有1组,编号为1(每组包含一对左右声道),使用单端输入时,需要选择IN1,使用差分输入时,从IN1的左右声道输入一路差分信号(最终输出单声道)。
【相关数据类型及接口】
无。
ot_acodec_volume_ctrl¶
【说明】
定义内置Audio Codec音量控制结构体。
【定义】
typedef struct {
/* volume control, 0x00~0x7e, 0x7F:mute */
td_u32 volume_ctrl;
/* adc/dac mute control, 1:mute, 0:unmute */
td_u32 volume_ctrl_mute;
} ot_acodec_volume_ctrl;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
错误码¶
音频基础属性错误码¶
表 1 音频基础属性API错误码
音频输入错误码¶
表 1 音频输入API错误码
音频输出错误码¶
表 1 音频输出API错误码
音频编码错误码¶
表 1 音频编码API错误码
音频解码错误码¶
表 1 音频解码API错误码
Resampler错误码¶
表 1 Resampler API错误码