Audio Q&A

Q1: 如何获取AI采集声音大小?

通过 MI_S32 MI_AI_GetVqeVolume(MI_AUDIO_DEV AiDevId, MI_AI_CHN AiChn, MI_S32*ps32VolumeDb) api获取。

Q2: 音频播放卡顿,并且log报:MI_AO_IMPL_SendFrame[2695]: Device 0 is empty

确定送数据的逻辑要足够快,另外尝试打开kernel的高精度时钟

Q3: 如何使用设备树配置audio speaker的功放使能引脚?

A: arch/arm/boot/dts/infinity2m.dtsi 中将sound节点中的 amp-gpio 项设置为<PAD_GPIO12 1>   //PAD_GPIO12为实际硬件使能pin脚

B:arch/arm/boot/dts/infinity2m-ssc011a-s01a-padmux-display.dtsi中将对应pin脚的u32Puse改为MDRV_PUSE_AIO_AMP_PWR (这里的*padmux-display.dtsi根据实际文件的修改)

Q4:如何配置i2s pin脚设定?

  1. infinity2m.dtsi中将如下i2s-padmux配置成对应的mode,eg:

    对应的是mode 1,padmux就填1:

  2. 在对应的padmux文件配置成对应的i2s mode,eg:

    <PAD_GPIO0 PINMUX_FOR_I2S_MODE_1 MDRV_PUSE_I2S_WCK >,
    <PAD_GPIO1 PINMUX_FOR_I2S_MODE_1 MDRV_PUSE_I2S_BCK >,
    <PAD_GPIO2 PINMUX_FOR_I2S_MODE_1 MDRV_PUSE_I2S_SDI >,
    <PAD_GPIO3 PINMUX_FOR_I2S_MODE_1 MDRV_PUSE_I2S_SDO >,