跳到主要内容

hi_mpi_ai_enable

功能及约束说明

  • AI(Audio Input)音频输入、AO(Audio Output)音频输出API主要实现配置及启用音频输入设备、获取音频帧数据、播放等功能,本章中的接口均不支持多进程**,且同一个设备ID不支持在多线程中使用**。

  • 对于内置Audio Codec,主要通过ioctl命令字实现对硬件设备的操作。

  • 在录音起始阶段,由于硬件存在资源准备的过程,因此可能在起始阶段瞬间存在音频数据波动现象,但并不影响后续录音功能。

  • 关于AI、AO设备的说明如下:

    表1 AO设备

    AO dev输出对接器件
    0对接外置codec0
    1对接外置codec1
    2内置codec
    3HDMI0
    4HDMI1

    表2 AI设备

    AI dev输入对接器件
    0对接外置codec0
    1对接外置codec1
    2内置codec

父主题: AI音频输入/AO音频输出

hi_mpi_ai_set_pub_attr

函数功能

设置AI设备属性。

约束说明

  • 仅支持I2S主模式。
  • 在双声道和右声道模式下,chn_cnt需为2;在左声道模式下,chn_cnt需为1。

函数原型

hi_s32 hi_mpi_ai_set_pub_attr(hi_audio_dev ai_dev, const hi_aio_attr *attr);

参数说明

参数名输入/输出说明。
ai_dev输入音频设备号,取值范围:[0, 2]。
attr输入AI设备属性。

返回值说明

参考资源

接口调用流程,参见音频获取&音频播放功能

父主题: AI音频输入/AO音频输出

hi_mpi_ai_enable

函数功能

启用AI设备。

约束说明

  • 启用AI设备前,必须先调用hi_mpi_ai_set_pub_attr接口配置AI设备属性,否则返回属性未配置错误。
  • 如果AI设备已经处于enable状态,则直接返回成功。

函数原型

hi_s32 hi_mpi_ai_enable(hi_audio_dev ai_dev);

参数说明

参数名输入/输出说明。
ai_dev输入音频设备号,取值范围:[0, 2]。

返回值说明

参考资源

接口调用流程,参见音频获取&音频播放功能

父主题: AI音频输入/AO音频输出

hi_mpi_ai_disable

函数功能

禁用AI设备。

约束说明

  • 如果AI设备已经处于禁用状态,则直接返回成功。
  • 禁用AI设备前,必须先调用hi_mpi_ai_disable_chn接口禁用该设备下已启用的所有AI通道。

函数原型

hi_s32 hi_mpi_ai_disable(hi_audio_dev ai_dev);

参数说明

参数名输入/输出说明。
ai_dev输入音频设备号,取值范围:[0, 2]。

返回值说明

参考资源

接口调用流程,参见音频获取&音频播放功能

父主题: AI音频输入/AO音频输出

hi_mpi_ai_set_chn_attr

函数功能

设置AI通道属性。

函数原型

hi_s32 hi_mpi_ai_set_chn_attr(hi_audio_dev ai_dev, hi_ai_chn ai_chn, const hi_ai_chn_attr *chn_attr);

参数说明

参数名输入/输出说明。
ai_dev输入音频设备号,取值范围:[0, 2]。 NVR(Network Video Recorder)场景中仅涉及dev2。
ai_chn输入音频输入通道号。 目前只支持单声道,所以ai_chn取值固定为0。
chn_attr输入音频通道属性结构体指针。
- 通道属性结构体中目前只有一个成员变量,用于设置通道的工作模式,默认工作模式为HI_AI_CHN_MODE_FAST。
- NVR(Network Video Recorder)场景中需要是使用HI_AI_CHN_MODE_NORMAL标准模式,支持调用hi_mpi_ai_enable_resample接口开启重采样功能。
- HI_AI_CHN_MODE_FAST模式下不支持重采样功能,不支持绑定AI与AENC,通过AI获取的音频数据,用户需调用hi_mpi_ai_get_frame接口获取音频数据。

返回值说明

参考资源

接口调用流程,参见语音对讲功能(NVR场景)

父主题: AI音频输入/AO音频输出

在线提单