结构体:
`typedef struct hiAIO_ATTR_S
{
AUDIO_SAMPLE_RATE_E enSamplerate; /* sample rate */
AUDIO_BIT_WIDTH_E enBitwidth; /* bitwidth */
AIO_MODE_E enWorkmode; /* master or slave mode */
AUDIO_SOUND_MODE_E enSoundmode; /* momo or steror */
HI_U32 u32EXFlag; /* expand 8bit to 16bit,use AI_EXPAND(only valid for AI 8bit),use AI_CUT(only valid for extern Codec for 24bit) */
HI_U32 u32FrmNum; /* frame num in buf[2,MAX_AUDIO_FRAME_NUM] */
HI_U32 u32PtNumPerFrm; /* point num per frame (80/160/240/320/480/1024/2048)(ADPCM IMA should add 1 point, AMR only support 160) */
HI_U32 u32ChnCnt; /* channle number on FS, valid value:1/2/4/8 */
HI_U32 u32ClkSel; /* 0: AI and AO clock is separate
1: AI and AO clock is inseparate, AI use AO's clock
*/
} AIO_ATTR_S;`
音频输入设备的属性决定了输入数据的格式,输入设备属性包括工作模式(enWorkmode)、采样率(enSamplerate)、采样精度( enBitwidth)、buffer大小即帧缓存数目(u32FrmNum)、每帧的采样点数(u32PtNumPerFrm)、扩展标志(u32EXFlag对AI设备无效)、时钟选择(u32ClkSel)和通道数目(u32ChnCnt)。这些属性应与对接 Codec 配置的时序一致,即能成功对接。
对接内置 Codec 时,AI设备 0 和 AO 设备 0 的帧同步时钟与位流时钟不能共用,u32ClkSel 需要配置为 0。