ZegoLiveRoom
Typedefs | Enumerations | Functions
zego-api-audio-frame.h File Reference
#include "zego-api-defines.h"

Go to the source code of this file.

Typedefs

typedef enum ZegoAudioFrameType ZegoAudioFrameType
 

Enumerations

enum  ZegoAudioFrameType { kZegoAudioFrameTypePCM = 0x1001 , kZegoAudioFrameTypePCMTS10 = 0x1002 , kZegoAudioFrameTypeAACStream = 0x1003 }
 

Functions

ZEGOAVKIT_API struct ZegoAudioFrame * zego_audio_frame_create ()
 
ZEGOAVKIT_API void zego_audio_frame_destroy (struct ZegoAudioFrame *audio_frame)
 
ZEGOAVKIT_API int zego_audio_frame_set_frame_type (struct ZegoAudioFrame *audio_frame, enum ZegoAudioFrameType frame_type)
 
ZEGOAVKIT_API int zego_audio_frame_get_frame_type (struct ZegoAudioFrame *audio_frame, enum ZegoAudioFrameType &frame_type)
 
ZEGOAVKIT_API int zego_audio_frame_set_frame_config (struct ZegoAudioFrame *audio_frame, int channels, int sample_rate)
 
ZEGOAVKIT_API int zego_audio_frame_get_frame_config (struct ZegoAudioFrame *audio_frame, int &channels, int &sample_rate)
 
ZEGOAVKIT_API int zego_audio_frame_set_frame_data (struct ZegoAudioFrame *audio_frame, int samples, unsigned char *data)
 
ZEGOAVKIT_API int zego_audio_frame_get_frame_data (struct ZegoAudioFrame *audio_frame, int &samples, unsigned char **data)
 
ZEGOAVKIT_API int zego_audio_frame_set_pcmts_timestamp (struct ZegoAudioFrame *audio_frame, double timestamp)
 
ZEGOAVKIT_API int zego_audio_frame_set_aac_properties (struct ZegoAudioFrame *audio_frame, double timestamp, int data_length, int special_config_length)
 
ZEGOAVKIT_API int zego_audio_frame_get_aac_properties (struct ZegoAudioFrame *audio_frame, double &timestamp, int &data_length, int &special_config_length)
 

Typedef Documentation

◆ ZegoAudioFrameType

音频帧类型

Enumeration Type Documentation

◆ ZegoAudioFrameType

音频帧类型

Enumerator
kZegoAudioFrameTypePCM 
kZegoAudioFrameTypePCMTS10 

PCM 数据

kZegoAudioFrameTypeAACStream 

PCM 数据(含时间戳),每帧必须是 10ms PCM 数据,特殊场景使用,不推荐

Function Documentation

◆ zego_audio_frame_create()

ZEGOAVKIT_API struct ZegoAudioFrame * zego_audio_frame_create ( )

创建音频帧对象

Returns
返回创建的对象,使用完毕后必须调用 zego_audio_frame_destroy() 接口释放

◆ zego_audio_frame_destroy()

ZEGOAVKIT_API void zego_audio_frame_destroy ( struct ZegoAudioFrame *  audio_frame)

释放音频帧对象

Parameters
audio_frame所有释放的对象

◆ zego_audio_frame_get_aac_properties()

ZEGOAVKIT_API int zego_audio_frame_get_aac_properties ( struct ZegoAudioFrame *  audio_frame,
double &  timestamp,
int &  data_length,
int &  special_config_length 
)

获取 AAC 编码数据属性

Parameters
audio_frame音频帧
timestamp时间戳,如果数据中只有 AAC 配置信息,填 0
data_length总数据长度,注意 data_length = AAC编码结果长度 + special_config_length
special_config_lengthAAC 配置信息长度
Returns
参考 enum ZegoErrorCode

◆ zego_audio_frame_get_frame_config()

ZEGOAVKIT_API int zego_audio_frame_get_frame_config ( struct ZegoAudioFrame *  audio_frame,
int &  channels,
int &  sample_rate 
)

获取采集/渲染配置

Parameters
audio_frame音频帧
channels通道数,支持 1(单声道) 或 2(立体声)
sample_rate采样率
Returns
参考 enum ZegoErrorCode

◆ zego_audio_frame_get_frame_data()

ZEGOAVKIT_API int zego_audio_frame_get_frame_data ( struct ZegoAudioFrame *  audio_frame,
int &  samples,
unsigned char **  data 
)

获取采集到/待渲染的数据

Parameters
audio_frame音频帧
samples采样数
data音频数据,注意:内部不会拷贝数据,需要由调用方管理其生命周期
Returns
参考 enum ZegoErrorCode
Attention
仅支持 16 比特量化深度

◆ zego_audio_frame_get_frame_type()

ZEGOAVKIT_API int zego_audio_frame_get_frame_type ( struct ZegoAudioFrame *  audio_frame,
enum ZegoAudioFrameType frame_type 
)

获取帧数据类型

Parameters
audio_frame音频帧
frame_type帧数据类型,参考 enum ZegoAudioFrameType,默认 kZegoAudioFrameTypePCM
Returns
参考 enum ZegoErrorCode

◆ zego_audio_frame_set_aac_properties()

ZEGOAVKIT_API int zego_audio_frame_set_aac_properties ( struct ZegoAudioFrame *  audio_frame,
double  timestamp,
int  data_length,
int  special_config_length 
)

设置 AAC 编码数据属性

Parameters
audio_frame音频帧
timestamp时间戳,如果数据中只有 AAC 配置信息,填 0
data_length总数据长度,注意 data_length = AAC编码结果长度 + special_config_length
special_config_lengthAAC 配置信息长度
Returns
参考 enum ZegoErrorCode

◆ zego_audio_frame_set_frame_config()

ZEGOAVKIT_API int zego_audio_frame_set_frame_config ( struct ZegoAudioFrame *  audio_frame,
int  channels,
int  sample_rate 
)

设置采集/渲染配置

Parameters
audio_frame音频帧
channels通道数,支持 1(单声道) 或 2(立体声)
sample_rate采样率
Returns
参考 enum ZegoErrorCode

◆ zego_audio_frame_set_frame_data()

ZEGOAVKIT_API int zego_audio_frame_set_frame_data ( struct ZegoAudioFrame *  audio_frame,
int  samples,
unsigned char *  data 
)

设置采集到/待渲染的数据

Parameters
audio_frame音频帧
samples采样数
data音频数据,注意:内部不会拷贝数据,需要由调用方管理其生命周期
Returns
参考 enum ZegoErrorCode
Attention
仅支持 16 比特量化深度

◆ zego_audio_frame_set_frame_type()

ZEGOAVKIT_API int zego_audio_frame_set_frame_type ( struct ZegoAudioFrame *  audio_frame,
enum ZegoAudioFrameType  frame_type 
)

设置帧数据类型

Parameters
audio_frame音频帧
frame_type帧数据类型,参考 enum ZegoAudioFrameType,默认 kZegoAudioFrameTypePCM
Returns
参考 enum ZegoErrorCode

◆ zego_audio_frame_set_pcmts_timestamp()

ZEGOAVKIT_API int zego_audio_frame_set_pcmts_timestamp ( struct ZegoAudioFrame *  audio_frame,
double  timestamp 
)

设置 PCM 数据(含时间戳)属性

Parameters
audio_frame音频帧
timestamp时间戳
Returns
参考 enum ZegoErrorCode
Attention
timestamp 仅对 kZegoAudioFrameTypePCMTS10 类型音频数据生效