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 | 推流通道 |