ZegoLiveRoom
Classes | Enumerations | Functions
ZEGO::MEDIA_RECORDER Namespace Reference

Classes

class  IZegoMediaRecordCallback
 
struct  ZegoMediaRecordConfig
 

Enumerations

enum  ZegoMediaRecordType { ZEGO_MEDIA_RECORD_AUDIO = 1 , ZEGO_MEDIA_RECORD_VIDEO = 2 , ZEGO_MEDIA_RECORD_BOTH = 3 }
 
enum  ZegoMediaRecordChannelIndex { ZEGO_MEDIA_RECORD_CHN_MAIN = 0 , ZEGO_MEDIA_RECORD_CHN_AUX , ZEGO_MEDIA_RECORD_CHN_THIRD , ZEGO_MEDIA_RECORD_CHN_FOURTH }
 
enum  ZegoMediaRecordFormat { ZEGO_MEDIA_RECORD_FLV = 1 , ZEGO_MEDIA_RECORD_MP4 = 2 , ZEGO_MEDIA_RECORD_AAC = 4 , ZEGO_MEDIA_RECORD_M3U = 7 }
 
enum  ZegoMediaRecordErrorCode {
  ZEGO_MR_ERROR_CODE_SUCCESS = 0 , ZEGO_MR_ERROR_CODE_PATH_TOO_LONG , ZEGO_MR_ERROR_CODE_INIT_FAILED , ZEGO_MR_ERROR_CODE_OPEN_FILE_FAILED ,
  ZEGO_MR_ERROR_CODE_WRITE_HEADER_FAILED , ZEGO_MR_ERROR_CODE_RECORD_BEGIN , ZEGO_MR_ERROR_CODE_RECORD_END , ZEGO_MR_ERROR_CODE_NO_SPACE ,
  ZEGO_MR_ERROR_CODE_BAD_FILE_DESC , ZEGO_MR_ERROR_CODE_IO_ERROR
}
 

Functions

ZEGOAVKIT_API bool SetZegoMediaRecordCallback (IZegoMediaRecordCallback *pCB)
 
ZEGOAVKIT_API bool StartRecord (ZegoMediaRecordChannelIndex channelIndex, ZegoMediaRecordType recordType, const char *storagePath, const bool enableStatusCallback=false, const int interval=3000, ZegoMediaRecordFormat recordFormat=ZegoMediaRecordFormat::ZEGO_MEDIA_RECORD_FLV, bool isFragment=false)
 
ZEGOAVKIT_API bool StartRecord (ZegoMediaRecordConfig config)
 
ZEGOAVKIT_API void StopRecord (ZegoMediaRecordChannelIndex channelIndex)
 

Enumeration Type Documentation

◆ ZegoMediaRecordChannelIndex

媒体录制通道

Enumerator
ZEGO_MEDIA_RECORD_CHN_MAIN 

第一路媒体录制通道

ZEGO_MEDIA_RECORD_CHN_AUX 

第二路媒体录制通道

ZEGO_MEDIA_RECORD_CHN_THIRD 

第三路媒体录制通道

ZEGO_MEDIA_RECORD_CHN_FOURTH 

第四路媒体录制通道

◆ ZegoMediaRecordErrorCode

Enumerator
ZEGO_MR_ERROR_CODE_SUCCESS 

成功

ZEGO_MR_ERROR_CODE_PATH_TOO_LONG 

路径太长

ZEGO_MR_ERROR_CODE_INIT_FAILED 

初始化 avcontext 失败

ZEGO_MR_ERROR_CODE_OPEN_FILE_FAILED 

打开文件失败

ZEGO_MR_ERROR_CODE_WRITE_HEADER_FAILED 

写文件头失败

ZEGO_MR_ERROR_CODE_RECORD_BEGIN 

开始录制

ZEGO_MR_ERROR_CODE_RECORD_END 

停止录制

ZEGO_MR_ERROR_CODE_NO_SPACE 

剩余空间不够

ZEGO_MR_ERROR_CODE_BAD_FILE_DESC 

文件句柄异常

ZEGO_MR_ERROR_CODE_IO_ERROR 

IO 异常

◆ ZegoMediaRecordFormat

媒体录制格式

Enumerator
ZEGO_MEDIA_RECORD_FLV 

FLV格式

ZEGO_MEDIA_RECORD_MP4 

MP4格式

ZEGO_MEDIA_RECORD_AAC 

AAC格式

ZEGO_MEDIA_RECORD_M3U 

m3u8格式,不推荐使用

◆ ZegoMediaRecordType

媒体录制类型

Enumerator
ZEGO_MEDIA_RECORD_AUDIO 

只录制音频

ZEGO_MEDIA_RECORD_VIDEO 

只录制视频

ZEGO_MEDIA_RECORD_BOTH 

同时录制音频、视频

Function Documentation

◆ SetZegoMediaRecordCallback()

ZEGOAVKIT_API bool ZEGO::MEDIA_RECORDER::SetZegoMediaRecordCallback ( IZegoMediaRecordCallback pCB)

设置录制回调

Parameters
delegate媒体录制回调 @discussion StartRecord后才有回调

◆ StartRecord() [1/2]

ZEGOAVKIT_API bool ZEGO::MEDIA_RECORDER::StartRecord ( ZegoMediaRecordChannelIndex  channelIndex,
ZegoMediaRecordType  recordType,
const char *  storagePath,
const bool  enableStatusCallback = false,
const int  interval = 3000,
ZegoMediaRecordFormat  recordFormat = ZegoMediaRecordFormat::ZEGO_MEDIA_RECORD_FLV,
bool  isFragment = false 
)

开始录制

Parameters
channelIndex录制通道
recordType录制类型
storagePath录制文件存储路径,传入的路径需要包含文件名
enableStatusCallback是否开启录制状态回调,true: 表示会以指定的 interval 间隔回调 IZegoMediaRecordCallback#OnRecordStatusUpdate。false: 表示不回调
interval录制信息更新频率,单位毫秒,有效范围:1000-10000,默认值3000
recordFormat媒体录制格式
isFragment录制文件是否分片,MP4格式才有效
Returns
true 调用成功,false 调用失败 @discussion 必须在init sdk之后调用 @discussion 要监听录制文件的状态,需要实现IZegoMediaRecordCallback::OnRecordStatusUpdate

◆ StartRecord() [2/2]

ZEGOAVKIT_API bool ZEGO::MEDIA_RECORDER::StartRecord ( ZegoMediaRecordConfig  config)

开始录制

Parameters
config媒体录制配置,详见 ZegoMediaRecordConfig
Returns
true 调用成功,false 调用失败 @discussion 必须在init sdk之后调用 @discussion 要监听录制文件的状态,需要实现IZegoMediaRecordCallback::OnRecordStatusUpdate

◆ StopRecord()

ZEGOAVKIT_API void ZEGO::MEDIA_RECORDER::StopRecord ( ZegoMediaRecordChannelIndex  channelIndex)

停止录制

Parameters
channelIndex录制通道