跳到主要内容

hi_audio_frame_info

hi_audio_frame

说明

定义音频帧结构体。

定义

typedef struct {
hi_audio_bit_width bit_width; /* audio frame bit_width */
hi_audio_snd_mode snd_mode; /* audio frame momo or stereo mode */
hi_u8 ATTRIBUTE *virt_addr[HI_AUDIO_FRAME_CHN_NUM];
hi_u64 ATTRIBUTE phys_addr[HI_AUDIO_FRAME_CHN_NUM];
hi_u64 time_stamp; /* audio frame time stamp */
hi_u32 seq; /* audio frame seq */
hi_u32 len; /* data length per channel in frame */
hi_u32 pool_id[HI_AUDIO_FRAME_CHN_NUM];
} hi_audio_frame;

成员

成员名称描述
bit_width音频采样精度。
snd_mode音频声道模式。
virt_addr音频帧数据虚拟地址。
phys_addr音频帧数据物理地址。
time_stamp音频帧时间戳(单位:μs)。
seq音频帧序号。
len单个声道音频帧长度(单位:byte)。
pool_id音频帧缓存池ID。

:::note 说明 len(音频帧长度)指单个声道的数据长度。

单声道数据存放的虚拟地址为 virt_addr [0],长度为 len;立体声数据按左右声道分开存放,虚拟地址 virt_addr [0]存放长度为 len 的左声道数据,虚拟地址virt_addr [1]存放长度为 len 的右声道数据。 :::

父主题: 音频相关

hi_audio_stream

说明

定义音频码流结构体。

定义

typedef struct {
hi_u8 ATTRIBUTE *stream; /* the virtual address of stream */
hi_u64 ATTRIBUTE phys_addr; /* the physics address of stream */
hi_u32 len; /* stream length, by bytes */
hi_u64 time_stamp; /* frame time stamp */
hi_u32 seq; /* frame seq, if stream is not a valid frame,seq is 0 */
} hi_audio_stream;

成员

成员名称描述
stream音频码流数据指针。
phys_addr音频码流的物理地址。
len音频码流长度(单位:byte)。
- 调用hi_mpi_adec_create_chn接口设置pack方式解码,必须为一帧音频码流的长度(指码流数据+头长度),且一帧码流最大长度为16384。
- 调用hi_mpi_adec_create_chn接口设置stream方式解码:
- 调用hi_mpi_adec_send_stream接口发送码流时,设置非阻塞方式时,len参数取值范围:(0, 16384]。
- 调用hi_mpi_adec_send_stream接口发送码流时,设置阻塞方式时,len参数取值范围在hi_u32数据类型的取值范围内,但不包括0。
time_stamp音频码流时间戳。
seq音频码流序号,如果stream无效,seq为0。

父主题: 音频相关

hi_aec_frame

说明

定义音频回声抵消参考帧信息结构体。

定义

typedef struct {
hi_audio_frame ref_frame; /* AEC reference audio frame */
hi_bool valid; /* whether frame is valid */
hi_bool sys_bind; /* whether is sysbind */
} hi_aec_frame;

成员

成员名称描述
ref_frame回声抵消参考帧结构体。
valid参考帧有效的标志。 HI_TRUE:参考帧有效。 HI_FALSE:参考帧无效,无效时不能使用此参考帧进行回声抵消。
sys_bindAI和AENC是否系统绑定。

:::note 说明 目前不支持回声抵消功能,该结构体设置为空即可。 :::

父主题: 音频相关

hi_audio_frame_info

说明

定义解码后的音频帧信息结构体。

定义

typedef struct {
hi_audio_frame *frame; /* frame pointer */
hi_u32 id; /* frame id */
} hi_audio_frame_info;
成员名称描述
frame音频帧指针。
id音频帧的索引。

父主题: 音频相关

hi_acodec_volume_ctrl

说明

定义内置 Audio Codec 音量控制结构体。

定义

typedef struct {
/* volume control, 0x00~0x7e, 0x7F:mute */
hi_u32 volume_ctrl;
/* adc/dac mute control, 1:mute, 0:unmute */
hi_u32 volume_ctrl_mute;
} hi_acodec_volume_ctrl;

成员

成员名称描述
volume_ctrl音量大小。 取值范围:0~0x7F,在0x7F时为静音。
volume_ctrl_mute静音控制。 取值范围:
- 0:不静音
- 1:静音

父主题: 音频相关

音量调节宏

宏定义取值
HI_ACODEC_SET_DACL_VOLUME0xc008410d
HI_ACODEC_SET_DACR_VOLUME0xc008410e
HI_ACODEC_GET_DACL_VOLUME0xc0084111
HI_ACODEC_GET_DACR_VOLUME0xc0084112
HI_ACODEC_SET_ADCL_VOLUME0xc008410f
HI_ACODEC_SET_ADCR_VOLUME0xc0084110
HI_ACODEC_GET_ADCL_VOLUME0xc0084113
HI_ACODEC_GET_ADCR_VOLUME0xc0084114

父主题: 音频相关

hi_aenc_chn_attr

说明

定义音频编码通道属性结构体。

定义

typedef struct {
hi_payload_type type;
hi_u32 point_num_per_frame;
hi_u32 buf_size;
hi_void ATTRIBUTE *value;
} hi_aenc_chn_attr;

成员

成员名称描述
type音频编码协议类型,目前支持HI_PT_G711A、HI_PT_G711U、HI_PT_AAC。 静态属性。
point_num_per_frame音频编码协议对应的帧长(编码时收到的音频帧长小于等于该帧长都可以进行编码)。 G.711a/G.711u编码时支持80/160/240/320/480,AAC编码只支持1024。
buf_size音频编码缓存大小,以帧为单位。 G.711a/G.711u编码时,该参数取值范围:[2, 100];AAC编码时,该参数取值范围:[10, 80]。 静态属性。
value具体协议属性指针。 G.711a/G.711u编码时,该参数值当前无效,非空指针即可;AAC编码时,需传入hi_aenc_attr_aac结构体变量。 静态属性。

父主题: 音频相关

在线提单