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_bind | AI和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_VOLUME | 0xc008410d |
| HI_ACODEC_SET_DACR_VOLUME | 0xc008410e |
| HI_ACODEC_GET_DACL_VOLUME | 0xc0084111 |
| HI_ACODEC_GET_DACR_VOLUME | 0xc0084112 |
| HI_ACODEC_SET_ADCL_VOLUME | 0xc008410f |
| HI_ACODEC_SET_ADCR_VOLUME | 0xc0084110 |
| HI_ACODEC_GET_ADCL_VOLUME | 0xc0084113 |
| HI_ACODEC_GET_ADCR_VOLUME | 0xc0084114 |
父主题: 音频相关
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结构体变量。 静态属性。 |
父主题: 音频相关
在线提单