hi_mpi_ai_release_frame
hi_mpi_ai_disable_chn
函数功能
禁用AI通道。
约束说明
- 录音为左声道和双声道时,ai_chn固定为0;右声道时,ai_chn固定为1。
- 如果已经设置属性,但AI chn已经处于禁用状态,则直接返回成功;如果未设置属性,此时调用该接口会返回属性未配置的错误。
函数原型
hi_s32 hi_mpi_ai_disable_chn(hi_audio_dev ai_dev, hi_ai_chn ai_chn);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| ai_dev | 输入 | 音频设备号,取值范围:[0, 2]。 |
| ai_chn | 输入 | 录音通道号。 |
返回值说明
- 0:成功
- 非0:失败,参见音频相关返回码。
参考资源
接口调用流程,参见音频获取&音频播放功能。
父主题: AI音频输入/AO音频输出
hi_mpi_ai_get_frame
函数功能
获取音频帧。
约束说明
- 获取音频帧数据前,必须先调用hi_mpi_ai_enable接口使能对应的AI设备。
- 录音为左声道和双声道时,ai_chn需固定为0;右声道时,ai_chn为1。
- 本接口与hi_mpi_ai_release_frame接口需成对出现,调用本接口获取音频帧,音频帧使用完毕之后应该及时调用hi_mpi_ai_release_frame接口释放音频帧。
函数原型
hi_s32 hi_mpi_ai_get_frame(hi_audio_dev ai_dev, hi_ai_chn ai_chn, hi_audio_frame *frame, hi_aec_frame *aec_frame, hi_s32 milli_sec);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| ai_dev | 输入 | 音频设备号,取值范围:[0, 2]。 |
| ai_chn | 输入 | 音频输入通道号。 |
| frame | 输出 | 音频帧结构体指针。 |
| aec_frame | 输出 | 回声抵消参考帧结构体指针。 预留参数,当前设置为NULL。 |
| milli_sec | 输入 | 配置获取数据的超时时间,单位是毫秒,取值范围如下: - -1:表示阻塞模式,无数据时一直等待; - 0:表示非阻塞模式,无数据时则报错返回; - >0:需要配置具体的超时时间,表示超过指定时间后无数据,则报错返回。 |
返回值说明
- 0:成功
- 非0:失败,参见音频相关返回码。
参考资源
接口调用流程,参见音频获取&音频播放功能。
父主题: AI音频输入/AO音频输出
hi_mpi_ai_release_frame
函数功能
释放音频帧。
约束说明
- 录音为左声道和双声道时,ai_chn需固定为0;右声道时,ai_chn为1。
- 本接口与hi_mpi_ai_get_frame接口需成对出现,调用hi_mpi_ai_get_frame接口获取音频帧,音频帧使用完毕之后应该及时调用本接口释放音频帧。
- 不支持重复调用本接口。
函数原型
hi_s32 hi_mpi_ai_release_frame(hi_audio_dev ai_dev, hi_ai_chn ai_chn, const hi_audio_frame *frame, const hi_aec_frame *aec_frame);
参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| ai_dev | 输入 | 音频设备号,取值范围:[0, 2]。 |
| ai_chn | 输入 | 音频输入通道号。 |
| frame | 输入 | 音频帧结构体指针。 预留参数,当前设置为NULL。 |
| aec_frame | 输入 | 设置为NULL。 |
返回值说明
- 0:成功
- 非0:失败,参见音频相关返回码。
参考资源
接口调用流程,参见音频获取&音频播放功能。
父主题: AI音频输入/AO音频输出
hi_mpi_ai_enable_resample
函数功能
启用AI重采样。
约束说明
- 调用hi_mpi_ai_enable_chn接口启用AI通道后,调用hi_mpi_sys_bind接口绑定VENC与AI前,调用本接口启用重采样功能。
- 调用hi_mpi_ai_disable_chn接口禁用AI通道后,如果重新启用AI通道,并使用重采样功能,需调用本接口再次启用重采样。
- 由于奈奎斯特采样定理的限制,在音频采样率为8kHz时,则所支持的音频频率小于4kHz。
- 由于AI的采样率固定为48kHz,G.711a、G.711u协议的采样率仅支持8kHz,因此需启用重采样功能;而48kHz在AAC协议采样率支持的范围内,因此使用AAC协议时,在AI时无需重采样。
函数原型
hi_s32 hi_mpi_ai_enable_resample(hi_audio_dev ai_dev, hi_ai_chn ai_chn, hi_audio_sample_rate out_sample_rate);
参数说明
| 参数名 | 输入/输出 | 说明。 |
|---|---|---|
| ai_dev | 输入 | 音频设备号,取值范围:[0, 2]。 NVR(Network Video Recorder)场景中仅涉及dev2。 |
| ai_chn | 输入 | 音频输入通道号。 目前只支持单声道(左声道),所以ai_chn取值固定为0。 |
| hi_audio_sample_rate | 输入 | 音频重采样的输出采样率,当前只支持8k。 |
返回值说明
- 0:成功
- 非0:失败,参考音频相关返回码。
参考资源
接口调用流程,参见语音对讲功能(NVR场景)。
父主题: AI音频输入/AO音频输出
hi_mpi_ai_disable_resample
函数功能
禁用AI重采样。
函数原型
hi_s32 hi_mpi_ai_disable_resample(hi_audio_dev ai_dev, hi_ai_chn ai_chn);
参数说明
| 参数名 | 输入/输出 | 说明。 |
|---|---|---|
| ai_dev | 输入 | 音频设备号,取值范围:[0, 2]。 NVR(Network Video Recorder)场景中仅涉及dev2。 |
| ai_chn | 输入 | 音频输入通道号。 目前只支持单声道(左声道),所以ai_chn取值固定为0。 |
返回值说明
- 0:成功
- 非0:失败,参考音频相关返回码。
参考资源
接口调用流程,参见语音对讲功能(NVR场景)。
父主题: AI音频输入/AO音频输出
在线提单