ZEGO::EXPRESS::IZegoExpressEngine

Declared in ZegoExpressInterface.h

Includes

Public Func Lists

Public Func Docs

setEventHandler

public void setEventHandler (std::shared_ptr< IZegoEventHandler > eventHandler)

设置事件通知回调,传 [nullptr] 则清空已设置的回调

Parameters
eventHandler 事件通知回调。开发者应根据自身业务场景,重写回调的相关方法以关注特定的通知。SDK 主要的回调方法都在 [IZegoEventHandler] 里。

uploadLog

public void uploadLog ()

上传日志到 ZEGO 服务器

setDebugVerbose

public void setDebugVerbose (bool enable, ZegoLanguage language)

设置调试详细信息开关以及语言

Parameters
enable 详细调试信息开关
language 调试信息语种

loginRoom

public void loginRoom (const std::string & roomID, ZegoUser user)

登录房间,推拉流前必须登录房间

Parameters
roomID 房间 ID,最大长度为 128 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''
user 用户对象实例,配置用户 ID、用户名。 注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登陆的用户踢掉先登陆的用户的情况。

loginRoom

public void loginRoom (const std::string & roomID, ZegoUser user, ZegoRoomConfig config)

使用配置进阶属性的方式登录房间,推拉流前必须登录房间

Parameters
roomID 房间 ID,最大长度为 128 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''
user 用户对象实例,配置用户 ID、用户名。 注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登陆的用户踢掉先登陆的用户的情况。
config 房间进阶配置

logoutRoom

public void logoutRoom (const std::string & roomID)

退出房间

Parameters
roomID 房间 ID,最大长度为 128 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''

startPublishingStream

public void startPublishingStream (const std::string & streamID, ZegoPublishChannel channel)

开始推流,可选择推第二路流

Parameters
streamID 流 ID,长度不超过256的字符串,需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''。
channel 推流通道

stopPublishingStream

public void stopPublishingStream (ZegoPublishChannel channel)

停止推流,可停止指定通道的音视频流

Parameters
channel 推流通道

setStreamExtraInfo

public void setStreamExtraInfo (const std::string & extraInfo, ZegoPublisherSetStreamExtraInfoCallback callback, ZegoPublishChannel channel)

设置流附加信息,支持设置其他通道的推流

Parameters
extraInfo 流附加信息,长度不超过1024的字符串
callback 更新流附加信息执行结果通知
channel 推流通道

startPreview

public void startPreview ( *ZegoCanvas canvas, ZegoPublishChannel channel)

启动/更新本地预览,支持设置其他通道的推流

Parameters
canvas 启动预览时用于显示画面的视图,视图设置为 nullptr 则不进行预览
channel 推流通道

startPreview

public void startPreview ()

启动本地音频预览,即在创建 Engine 之后,未推拉流之前,可以调用此接口,Enging 会开始采集音频

stopPreview

public void stopPreview (ZegoPublishChannel channel)

停止本地预览

Parameters
channel 推流通道

stopPreview

public void stopPreview ()

停止本地音频预览

setVideoConfig

public void setVideoConfig (ZegoVideoConfig config, ZegoPublishChannel channel)

设置视频配置,支持设置其他推流

Parameters
config 视频配置,SDK 提供常用的分辨率、帧率和码率的组合值,也可自定义分辨率、帧率和码率
channel 推流通道

getVideoConfig

public ZegoVideoConfig getVideoConfig (ZegoPublishChannel channel)

获取当前视频配置

Parameters
channel 推流通道

setVideoMirrorMode

public void setVideoMirrorMode (ZegoVideoMirrorMode mirrorMode, ZegoPublishChannel channel)

设置镜像模式,支持设置其他通道的推流

Parameters
mirrorMode 预览或推流的镜像模式
channel 推流通道

setAppOrientation

public void setAppOrientation (ZegoOrientation orientation, ZegoPublishChannel channel)

设置采集视频的朝向,支持设置其他路推流。

Parameters
orientation 视频的朝向
channel 推流通道

setAudioConfig

public void setAudioConfig (ZegoAudioConfig config)

设置音频质量配置

Parameters
config 音频质量配置

getAudioConfig

public ZegoAudioConfig getAudioConfig ()

获取当前音频质量配置

mutePublishStreamAudio

public void mutePublishStreamAudio (bool mute, ZegoPublishChannel channel)

停止或恢复发送音频流,支持设置其他路推流

Parameters
mute 是否停止发送音频流;true 表示只发送视频流不发送音频流;false 表示同时发送音频和视频流;默认为 false
channel 推流通道

mutePublishStreamVideo

public void mutePublishStreamVideo (bool mute, ZegoPublishChannel channel)

停止或恢复发送视频流,支持设置其他路推流

Parameters
mute 是否停止发送视频流;true 表示只发送音频流不发送视频流;false 表示同时发送音频和视频流;默认为 false
channel 推流通道

enableTrafficControl

public void enableTrafficControl (bool enable, int property)

开始或停止流量控制

Parameters
enable 是否使用流量控制;true 表示开启流控;false 表示关闭流控;默认为 true
property 流量控制的可调节的属性,位掩码格式。具体可设置为 [ZegoTrafficControlProperty] 的属性的一个或多个枚举组合。默认为 AdaptiveFPS

setMinVideoBitrateForTrafficControl

public void setMinVideoBitrateForTrafficControl (int bitrate, ZegoTrafficControlMinVideoBitrateMode mode)

设置流量控制视频码率最低值

Parameters
bitrate 最低视频码率,单位为 kbps
mode 低于最低码率时的视频发送模式

setCaptureVolume

public void setCaptureVolume (int volume)

设置推流端采集音量

Parameters
volume 音量百分比,范围为 0 ~ 100,默认值为 100。

addPublishCdnUrl

public void addPublishCdnUrl (const std::string & streamID, const std::string & targetURL, ZegoPublisherUpdateCdnUrlCallback callback)

增加转推至 CDN 的 URL

Parameters
streamID 流 ID
targetURL CDN 转推地址,支持的转推地址格式为 rtmp。
callback 添加 CDN 转推结果通知

removePublishCdnUrl

public void removePublishCdnUrl (const std::string & streamID, const std::string & targetURL, ZegoPublisherUpdateCdnUrlCallback callback)

删除转推至 CDN 的 URL

Parameters
streamID 流 ID
targetURL CDN 转推地址,支持的转推地址格式有 rtmp,flv,hls
callback 移除 CDN 转推结果通知

enablePublishDirectToCDN

public void enablePublishDirectToCDN (bool enable, *ZegoCDNConfig config, ZegoPublishChannel channel)

是否不经过 Zego 实时视频云服务器直接推流到 CDN,支持设置其他路推流

Parameters
enable 是否开启直推 CDN;true 表示开启直推 CDN;false 表示不开启直推 CDN;默认为 false
config CDN 配置,若为 nullptr 则使用 Zego 的后台配置
channel 推流通道

setPublishWatermark

public void setPublishWatermark ( *ZegoWatermark watermark, bool isPreviewVisible, ZegoPublishChannel channel)

设置推流水印,支持设置其他路推流

Parameters
watermark 水印布局左上角为坐标系原点,区域不能超过编码分辨率设置的大小。若为空表示取消水印。
isPreviewVisible 是否本地预览能看见水印
channel 推流通道

sendSEI

public void sendSEI (const unsigned char * data, unsigned int dataLength, ZegoPublishChannel channel)

发送媒体增强补充信息, 支持设置其他路推流

Parameters
data SEI 内容
dataLength SEI 内容长度
channel 推流通道

enableHardwareEncoder

public void enableHardwareEncoder (bool enable)

开/关硬件编码

Parameters
enable 是否开启硬件编码;true 表示开启硬编;false 表示关闭硬编;默认为 false

setCapturePipelineScaleMode

public void setCapturePipelineScaleMode (ZegoCapturePipelineScaleMode mode)

设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放

Parameters
mode 采集缩放时机

startPlayingStream

public void startPlayingStream (const std::string & streamID, *ZegoCanvas canvas)

开始拉流

Parameters
streamID 流 ID,长度不超过256的字符串。不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''。
canvas 用于显示拉流画面的视图,视图设置为 [nullptr] 则不进行显示

startPlayingStream

public void startPlayingStream (const std::string & streamID, *ZegoCanvas canvas, ZegoPlayerConfig config)

开始拉流

Parameters
streamID 流 ID,长度不超过256的字符串。不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''。
canvas 用于显示拉流画面的视图,视图设置为 [nullptr] 则不进行显示
config 拉流进阶配置

startPlayingStream

public void startPlayingStream (const std::string & streamID)

开始拉流

Parameters
streamID 流 ID,长度不超过256的字符串。不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''。

startPlayingStream

public void startPlayingStream (const std::string & streamID, ZegoPlayerConfig config)

开始拉流

Parameters
streamID 流 ID,长度不超过256的字符串。不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''。
config 拉流进阶配置

stopPlayingStream

public void stopPlayingStream (const std::string & streamID)

停止拉流

Parameters
streamID 流 ID

setPlayVolume

public void setPlayVolume (const std::string & streamID, int volume)

设置拉流音量

Parameters
streamID 流 ID
volume 音量百分比,取值范围为 0 ~ 100,默认值为 100

mutePlayStreamAudio

public void mutePlayStreamAudio (const std::string & streamID, bool mute)

停止或恢复拉取音频流

Parameters
streamID 流 ID
mute 禁用标识;true 表示禁止拉取;false 表示恢复拉取

mutePlayStreamVideo

public void mutePlayStreamVideo (const std::string & streamID, bool mute)

停止或恢复拉取视频流

Parameters
streamID 流 ID
mute 禁用标识;true 表示禁止拉取;false 表示恢复拉取

enableHardwareDecoder

public void enableHardwareDecoder (bool enable)

开/关硬件解码

Parameters
enable 是否开启硬解开关;true 表示开启硬解;false 表示关闭硬解;默认为 false

enableCheckPoc

public void enableCheckPoc (bool enable)

开/关帧顺序检测

Parameters
enable 是否开启帧顺序检测;true 表示开启帧顺序检测,不支持 B 帧;false 表示关闭帧顺序检测,支持 B 帧,可能出现短暂花屏;默认为 true

startMixerTask

public void startMixerTask (ZegoMixerTask task, ZegoMixerStartCallback callback)

开始混流任务

Parameters
task 混流任务对象
callback 开始混流任务结果通知

stopMixerTask

public void stopMixerTask (ZegoMixerTask task, ZegoMixerStopCallback callback)

停止混流任务

Parameters
task 混流任务对象
callback 停止混流任务结果通知

muteMicrophone

public void muteMicrophone (bool mute)

是否静音(关闭)麦克风

Parameters
mute 是否静音(关闭)麦克风;true 表示静音(关闭)麦克风;false 表示开启麦克风,默认为 false

isMicrophoneMuted

public bool isMicrophoneMuted ()

检查麦克风是否设置为静音

muteSpeaker

public void muteSpeaker (bool mute)

是否静音(关闭)音频输出

Parameters
mute 是否静音(关闭)音频输出;true 表示静音(关闭)音频输出;false 表示开启音频输出。默认为 false

isSpeakerMuted

public bool isSpeakerMuted ()

检查音频输出是否静音

useAudioDevice

public void useAudioDevice (ZegoAudioDeviceType deviceType, const std::string & deviceID)

选择使用某个音频设备

Parameters
deviceType 音频设备类型
deviceID 通过 getAudioDeviceList: 获取的某个设备的 ID

getAudioDeviceList

public ZegoDeviceInfostd::vector< > getAudioDeviceList (ZegoAudioDeviceType deviceType)

获取音频设备列表

Parameters
deviceType 音频设备类型

enableAudioCaptureDevice

public void enableAudioCaptureDevice (bool enable)

开/关音频采集设备

Parameters
enable 是否开启音频采集设备;true 表示打开音频采集设备;false 表示关闭音频采集设备

enableCamera

public void enableCamera (bool enable, ZegoPublishChannel channel)

开/关摄像头,支持设置其他通道的推流

Parameters
enable 是否打开摄像头;true 表示打开摄像头;false 表示关闭摄像头
channel 推流通道

useVideoDevice

public void useVideoDevice (const std::string & deviceID, ZegoPublishChannel channel)

选择使用某个视频设备,支持设置其他通道的推流

Parameters
deviceID 通过 getVideoDeviceList: 获取的某个设备的 ID
channel 推流通道

getVideoDeviceList

public ZegoDeviceInfostd::vector< > getVideoDeviceList ()

获取视频设备列表

startSoundLevelMonitor

public void startSoundLevelMonitor ()

启动声浪监控

stopSoundLevelMonitor

public void stopSoundLevelMonitor ()

停止声浪监控

startAudioSpectrumMonitor

public void startAudioSpectrumMonitor ()

启动音频频谱监控

stopAudioSpectrumMonitor

public void stopAudioSpectrumMonitor ()

停止音频频谱监控

enableHeadphoneMonitor

public void enableHeadphoneMonitor (bool enable)

开启/关闭 耳返

Parameters
enable true: 开启耳返, false: 关闭耳返

setHeadphoneMonitorVolume

public void setHeadphoneMonitorVolume (int volume)

设置耳返音量

Parameters
volume 采集耳返音量大小,取值(0, 100)。默认 80

enableMixSystemPlayout

public void enableMixSystemPlayout (bool enable)

开启/关闭 系统声卡采集

Parameters
enable true: 开启声卡采集, false: 关闭声卡采集

enableAEC

public void enableAEC (bool enable)

开/关回声消除

Parameters
enable 是否开启回声消除;true 表示开启回声消除;false 表示关闭回声消除

setAECMode

public void setAECMode (ZegoAECMode mode)

设置回声消除模式

Parameters
mode 回声消除模式

enableAGC

public void enableAGC (bool enable)

开/关自动增益

Parameters
enable 是否开启自动增益;true 表示开启自动增益;false 表示关闭自动增益

enableANS

public void enableANS (bool enable)

开/关噪声抑制

Parameters
enable 是否开启噪声抑制;true 表示开启噪声抑制;false 表示关闭噪声抑制

enableAudioMixing

public void enableAudioMixing (bool enable)

开/关 混音功能

Parameters
enable 是否开启混音功能;true 表示开启;false 表示关闭

setAudioMixingHandler

public void setAudioMixingHandler (std::shared_ptr< IZegoAudioMixingHandler > handler)

设置混音相关回调

Parameters
handler 混音回调

muteLocalAudioMixing

public void muteLocalAudioMixing (bool mute)

禁止或恢复本地播放混音声音

Parameters
mute 是否静音本地混音;true 表示禁止播放播放;false 表示开启

setAudioMixingVolume

public void setAudioMixingVolume (int volume, ZegoVolumeType type)

设置混音音量

Parameters
volume 混音音量 取值范围是 0 ~ 100,默认为 50
type 混音本地播放音量/混音推流中的音量

sendBroadcastMessage

public void sendBroadcastMessage (const std::string & roomID, const std::string & message, ZegoIMSendBroadcastMessageCallback callback)

发送房间广播消息

Parameters
roomID 房间 ID,最大长度为 128 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''
message 消息内容,长度不超过256字节
callback 发送广播消息结果通知

sendBarrageMessage

public void sendBarrageMessage (const std::string & roomID, const std::string & message, ZegoIMSendBarrageMessageCallback callback)

发送房间弹幕消息

Parameters
roomID 房间 ID,最大长度为 128 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''
message 消息内容,长度不超过256字节
callback 发送弹幕消息结果通知

sendCustomCommand

public void sendCustomCommand (const std::string & roomID, const std::string & command, std::vector< ZegoUser > toUserList, ZegoIMSendCustomCommandCallback callback)

发送自定义信令

Parameters
roomID 房间 ID,最大长度为 128 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', ''
command 自定义信令内容,长度不超过256字节
toUserList 信令的接收者
callback 发送信令结果通知

createMediaPlayer

public IZegoMediaPlayer * createMediaPlayer ()

创建媒体播放器实例对象

destroyMediaPlayer

public void destroyMediaPlayer ( *&IZegoMediaPlayer mediaPlayer)

销毁媒体播放器实例对象

Parameters
mediaPlayer 媒体播放器实例对象

enableCustomVideoRender

public void enableCustomVideoRender (bool enable, *ZegoCustomVideoRenderConfig config)

开始或停止自定义视频渲染

Parameters
enable 是否开启
config 自定义渲染配置

setCustomVideoRenderHandler

public void setCustomVideoRenderHandler (std::shared_ptr< IZegoCustomVideoRenderHandler > handler)

设置自定义视频渲染回调

Parameters
handler 自定义视频渲染回调对象

enableCustomVideoCapture

public void enableCustomVideoCapture (bool enable, *ZegoCustomVideoCaptureConfig config, ZegoPublishChannel channel)

开始或停止自定义视频采集

Parameters
enable 是否开启
config 自定义采集配置
channel 推流通道

setCustomVideoCaptureHandler

public void setCustomVideoCaptureHandler (std::shared_ptr< IZegoCustomVideoCaptureHandler > handler)

设置自定义视频采集回调

Parameters
handler 自定义视频采集回调对象

sendCustomVideoCaptureRawData

public void sendCustomVideoCaptureRawData (const unsigned char * data, unsigned int dataLength, ZegoVideoFrameParam params, unsigned long long referenceTimeMillisecond, ZegoPublishChannel channel)

给 SDK 发送自定义采集的视频帧裸数据,支持其他路推流

Parameters
data 要向 SDK 发送的视频帧数据
dataLength 视频帧数据长度
params 视频帧的参数
referenceTimeMillisecond 视频帧的索引时间,单位为毫秒
channel 推流通道

sendCustomVideoCaptureEncodedData

public void sendCustomVideoCaptureEncodedData (const unsigned char * data, unsigned int dataLength, ZegoVideoEncodedFrameParam params, unsigned long long referenceTimeMillisecond, ZegoPublishChannel channel)

给 SDK 发送自定义采集的视频帧编码后的数据,支持其他路推流

Parameters
data 要向 SDK 发送的视频帧数据
dataLength 视频帧数据长度
params 视频帧的参数
referenceTimeMillisecond 视频帧的索引时间,单位为毫秒
channel 推流通道

setCustomVideoCaptureFillMode

public void setCustomVideoCaptureFillMode (ZegoViewMode mode, ZegoPublishChannel channel)

设置自定义视频采集画面缩放填充模式,支持其他路推流

Parameters
mode 画面填充缩放模式
channel 推流通道