logo
当前页

功能总览


ZEGO SDK 拥有全面覆盖全球重点区域的网络节点,提供丰富的 API,为多端提供清晰稳定的实时语音视频云服务。

API 返回的错误码请参考:https://doc-zh.zego.im/article/4378。

以下为基本的 API 简要介绍。

初始化相关的前置功能

方法名描述
createEngine创建 ZegoExpressEngine 单例对象并初始化 SDK。
destroyEngine销毁 ZegoExpressEngine 单例对象并反初始化 SDK。
setEngineConfig设置引擎进阶配置。
setLogConfig设置日志配置。
setRoomMode设置房间模式。
setGeoFence设置地理围栏。
getVersion获取 SDK 版本号。
isFeatureSupported查询当前 SDK 是否支持指定的功能特性。
setRoomScenario设置房间场景。
uploadLog上传日志到 ZEGO 服务器。
enableDebugAssistant开启调试助手。注意,请勿在线上版本开启此功能!仅在开发阶段使用!
callExperimentalAPI调用实验性 API。
onDebugError调试错误信息回调。
onEngineStateUpdate音视频引擎状态更新的回调通知。
onRecvExperimentalAPI实验性 API 回调。

房间功能

方法名描述
loginRoom使用带配置进阶属性的方式登录房间,通过回调参数返回登录结果,推拉流前必须登录房间。
logoutRoom退出指定房间 ID 的房间。
switchRoom使用配置进阶属性的方式切换房间。
renewToken更新 token 鉴权信息。
setRoomExtraInfo设置房间附加消息。
onRoomStateUpdate房间状态变化通知。
onRoomStateChanged房间状态变化通知,包含具体的状态变化原因。
onRoomUserUpdate房间内其他用户增加或减少的回调通知。
onRoomOnlineUserCountUpdate房间内当前在线用户数量回调。
onRoomStreamUpdate相同房间内其他用户推的流增加或减少的通知。
onRoomStreamExtraInfoUpdate房间内流附加信息更新通知。
onRoomExtraInfoUpdate房间附加信息更新通知。
onRoomTokenWillExpire房间 Token 鉴权将要过期的回调通知。

推流功能

方法名描述
startPublishingStream开始推流,支持多房间模式
stopPublishingStream停止推流,可停止指定通道的音视频流。
setStreamExtraInfo设置指定推流通道的流附加信息。
startPreview启动/更新本地预览,支持设置其他通道的推流。
stopPreview停止本地预览,支持设置其他通道的推流
setVideoConfig设置视频配置,支持设置其他通道的推流。
getVideoConfig获取当前视频配置,支持设置其他通道的推流
setVideoMirrorMode设置镜像模式,支持设置其他通道的推流。
setAudioConfig设置音频质量配置。
setAudioConfigWithChannel设置指定推流通道的音频质量配置。
getAudioConfig获取当前音频质量配置。
setPublishStreamEncryptionKey设置指定推流通道的推流加密密钥。
takePublishStreamSnapshot对指定推流通道的推流画面截图。
mutePublishStreamAudio停止或恢复发送指定推流通道的音频流。
mutePublishStreamVideo停止或恢复发送指定推流通道的视频流。
setStreamAlignmentProperty开启或关闭流精准对齐功能
enableTrafficControl开始或停止指定推流通道的流量控制。
setMinVideoBitrateForTrafficControl设置流量控制的最低视频码率阈值。
setMinVideoFpsForTrafficControl设置流量控制的最低视频帧率阈值。
setMinVideoResolutionForTrafficControl设置流量控制的最低视频分辨率阈值。
setTrafficControlFocusOn设置指定推流通道的触发流量控制的关注因素。
setCaptureVolume设置推流端采集音量。
setAudioCaptureStereoMode设置音频采集双声道模式。
addPublishCdnUrl增加转推至 CDN 的 URL。
removePublishCdnUrl删除转推至 CDN 的 URL。
enablePublishDirectToCDN是否直接推流到 CDN(不经过 ZEGO RTC 服务器), 支持设置其他通道的推流。
setPublishWatermark设置推流水印,支持设置其他通道的推流。
setSEIConfig设置媒体增强补充信息类型。
sendSEI指定推流通道号,发送媒体增强补充信息。
enableHardwareEncoder开/关硬件编码。
setCapturePipelineScaleMode设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放。
setDummyCaptureImagePath设置关闭摄像头时所推静态图片的路径
enableH265EncodeFallback是否开启 H.265 编码自动降级到 H.264 编码。
isVideoEncoderSupported是否支持指定的视频编码类型和实现方式。
setLowlightEnhancement设置低照度增强。
setVideoSource设置视频采集源实例作为指定推流通道的视频采集源。
setAudioSource为指定推流通道设置音频采集源
setAudioSourceWithConfig设置音频采集源及混音配置
enableVideoObjectSegmentation开启主体分割。
enableAlphaChannelVideoEncoder开启视频编码器透明通道支持。
onPublisherStateUpdate推流状态回调。
onPublisherQualityUpdate推流质量回调。
onPublisherCapturedAudioFirstFrame音频采集首帧回调接口。
onPublisherCapturedVideoFirstFrame视频采集首帧回调接口。
onPublisherSendAudioFirstFrame推流端音频发送首帧回调。
onPublisherSendVideoFirstFrame推流端视频发送首帧回调。
onPublisherVideoSizeChanged采集视频大小变更回调。
onPublisherRelayCDNStateUpdate添加/删除转推 CDN 地址状态回调。
onVideoObjectSegmentationStateChanged视频主体分割状态变化。

拉流功能

方法名描述
startPlayingStream开始拉流(从 ZEGO RTC 服务器或第三方 CDN),支持多房间模式。
stopPlayingStream停止拉流。
setPlayStreamDecryptionKey设置拉流解密密钥。
takePlayStreamSnapshot拉流画面截图。
setPlayVolume设置拉流音量。
setAllPlayStreamVolume设置所有拉流音量。
setPlayStreamVideoType设置播放视频流类型。
setPlayStreamBufferIntervalRange设置拉流播放缓存自适应调整的区间范围。
setPlayStreamFocusOn设置拉音视频流优先级的权重。
mutePlayStreamAudio拉流是否可接收指定音频数据。
mutePlayStreamVideo拉流是否可接收指定视频数据。
muteAllPlayStreamAudio拉流是否接收所有音频数据。(当设置为true时, 调用[mutePlayStreamAudio]不会生效)
muteAllPlayStreamVideo拉流是否可接收所有视频数据。(当设置为true时, 调用[mutePlayStreamVideo]不会生效)
enableHardwareDecoder开/关硬件解码。
enableCheckPoc开/关帧顺序检测。
isVideoDecoderSupported是否支持指定视频解码格式。
onPlayerStateUpdate拉流状态变更回调。
onPlayerQualityUpdate拉流质量回调。
onPlayerMediaEvent拉流媒体事件回调。
onPlayerRecvAudioFirstFrame拉流端音频接收首帧回调。
onPlayerRecvVideoFirstFrame拉流端视频接收首帧回调。
onPlayerRenderVideoFirstFrame拉流端渲染完视频首帧回调。
onPlayerVideoSizeChanged拉流分辨率变更通知。
onPlayerRecvSEI收到远端流的 SEI 内容。
onPlayerSyncRecvSEI同步接收远端流的 SEI 内容。

信令消息功能

方法名描述
sendBroadcastMessage发送房间广播消息。
sendBarrageMessage发送房间弹幕消息。
sendCustomCommand发送自定义信令。
onIMRecvBroadcastMessage接收房间广播消息通知。
onIMRecvBarrageMessage接收房间弹幕消息通知。
onIMRecvCustomCommand接收自定义信令通知。

混流功能

方法名描述
startMixerTask开始混流任务。
stopMixerTask停止混流任务。

音视频前处理

方法名描述
enableAEC是否开启回声消除。
setAECMode设置回声消除模式
enableAGC开/关自动增益控制
enableANS开/关噪声抑制
enableTransientANS开/关瞬态噪声抑制
setANSMode设置音频噪声抑制模式
setAudioEqualizerGain设置音效均衡器(EQ)。
setVoiceChangerPreset通过预设枚举设置变声。
setVoiceChangerParam设置变声的具体参数。
setReverbPreset通过预设枚举设置混响。
setReverbAdvancedParam设置混响的具体参数。
setReverbEchoParam设置混响回声效果的具体参数。
enableVirtualStereo开启或关闭推流时的虚拟立体声效果。

媒体播放器功能

方法名描述
createMediaPlayer创建媒体播放器实例对象。
destroyMediaPlayer销毁媒体播放器实例对象。
loadResource加载本地或者网络媒体资源。
loadResourceWithPosition加载本地或者网络媒体资源,并指定开始位置。
loadCopyrightedMusicResourceWithPosition加载版权音乐资源。
start开始播放
stop停止播放
pause暂停播放
resume恢复播放
seekTo设置指定的播放进度
enableRepeat是否重复播放
enableAux是否将播放器的声音混入正在推的流中
muteLocal是否静默本地播放
setPlayerView设置播放器播放视频的视图
setVolume设置播放器音量,会同时设置本地播放音量和推流音量
setPlayVolume设置播放器本地播放音量
setPublishVolume设置播放器推流音量
setProgressInterval设置播放进度回调间隔
getPlayVolume获取当前媒体播放器本地播放的音量,范围为 0 ~ 200,默认值为 60
getPublishVolume获取当前媒体播放器推流的音量,范围为 0 ~ 200,默认值为 60
getTotalDuration获取媒体资源的总进度
getCurrentProgress获取当前播放进度
getCurrentRenderingProgress获取当前渲染进度
getAudioTrackCount获取播放文件的音轨个数
setAudioTrackIndex设置播放文件的音轨
getCurrentState获取当前播放状态
getIndex获取媒体播放器的序号
takeSnapshot对媒体播放器当前播放画面进行截图
enableSoundLevelMonitor是否开启声浪监听。
enableFrequencySpectrumMonitor是否开启频谱监听。
getMediaInfo获取媒体文件视频分辨率等媒体信息。
enablePublishVideo是否将播放器的视频混入正在推的流中
getCustomVideoCapturePlugin获取播放器的自定义视频采集插件
registerCustomAudioProcessPlugin注册自定义的媒体播放器音频数据处理插件。
unregisterCustomAudioProcessPlugin注销自定义的媒体播放器音频数据处理插件。
enableLiveAudioEffect开启现场音效。
enableLocalCache开启本地缓存 http/https 网络资源。
onMediaPlayerStateUpdate媒体播放器播放状态回调。
onMediaPlayerNetworkEvent媒体播放器网络状态事件回调。
onMediaPlayerPlayingProgress播放器播放进度回调。
onMediaPlayerRenderingProgress播放器渲染进度回调。
onMediaPlayerVideoSizeChanged媒体播放器播放视频分辨率改变事件回调。
onMediaPlayerLoadResource媒体播放器加载资源结果的通知。
onMediaPlayerVideoData媒体播放器视频数据回调。
onMediaPlayerRecvSEI媒体次要信息回调。
onMediaPlayerSoundLevelUpdate声浪更新回调。
onMediaPlayerFrequencySpectrumUpdate频谱更新回调。
onMediaPlayerFirstFrameEvent媒体播放器播放首帧回调。
onMediaPlayerLocalCache媒体播放器本地缓存 http/https 网络资源后回调。

音效播放器功能

方法名描述
createAudioEffectPlayer创建音效播放器实例对象。
destroyAudioEffectPlayer销毁音效播放器实例对象。
start开始播放音效。
stop停止播放音效。
pause暂停播放音效。
resume恢复播放音效。
stopAll停止播放所有音效。
pauseAll暂停播放所有音效。
resumeAll恢复播放所有音效。
seekTo设置播放进度。
setVolume设置单个音效的播放音量,会同时设置本地播放音量和推流音量。
setVolumeAll设置所有音效的播放音量,会同时设置本地播放音量和推流音量。
setPlaySpeed设置指定音效的播放速度,会同时设置本地播放速度和推流速度(不支持单独设置)。
getTotalDuration获取指定音效资源的总长度。
getCurrentProgress获取当前播放进度。
loadResource加载音效资源。
unloadResource卸载音效资源。
getIndex获取音效播放器索引。
onAudioEffectPlayStateUpdate音效播放状态回调。

录制功能

方法名描述
startRecordingCapturedData开始本地录制,直接将音视频数据录制到本地文件。
stopRecordingCapturedData结束录制本端音频或音视频。
onCapturedDataRecordStateUpdate本地录制的状态更新回调,当录制过程状态变化时触发。
onCapturedDataRecordProgressUpdate录制进度更新回调。

设备管理

方法名描述
muteMicrophone设置是否静音(关闭麦克风)。
isMicrophoneMuted检查麦克风是否设置为静音。
muteSpeaker设置是否静音(关闭音频输出)。
isSpeakerMuted检查音频输出是否静音。
getAudioDeviceList获取音频设备列表
getDefaultAudioDeviceID获取默认音频设备 ID
useAudioDevice选择使用某个音频设备
getAudioDeviceVolume获取音频设备音量
setAudioDeviceVolume设置音频设备音量。
setSpeakerVolumeInAPP设置 App 中扬声器的音量。
getSpeakerVolumeInAPP获取 App 中扬声器的音量,只支持 Windows。
startAudioDeviceVolumeMonitor开启音频设备音量监控。
stopAudioDeviceVolumeMonitor停止音频设备音量监控。
muteAudioDevice静音或取消静音音频设备。
enableAudioCaptureDevice开/关音频采集设备。
enableCamera开/关摄像头,支持设置其他通道的推流。
useVideoDevice选择使用某个视频设备,支持设置指定推流通道
getVideoDeviceList获取视频设备列表
getDefaultVideoDeviceID获取默认视频设备 ID
startSoundLevelMonitor启动声浪监控,支持设置监听间隔。
startSoundLevelMonitorWithConfig启动声浪监控,支持开启进阶功能。
stopSoundLevelMonitor停止声浪监控。
startAudioSpectrumMonitor启动音频频谱监控,支持设置监听间隔。
stopAudioSpectrumMonitor停止音频频谱监控。
enableHeadphoneMonitor开启/关闭 耳返。
setHeadphoneMonitorVolume设置耳返音量。
enableMixSystemPlayout开启/关闭系统声卡采集。
setMixSystemPlayoutVolume设置系统声卡采集的音量。
enableMixEnginePlayout是否将 SDK 播放的声音混到推流中。
startAudioVADStableStateMonitor开始语音的稳态检测,可设置检测周期。
stopAudioVADStableStateMonitor停止语音的稳态检测。
onAudioDeviceStateChanged音频设备状态改变
onAudioDeviceVolumeChanged音频设备音量变更。
onVideoDeviceStateChanged视频设备状态改变。
onCapturedSoundLevelUpdate本地采集音频声浪回调。
onCapturedSoundLevelInfoUpdate本地采集音频声浪回调,支持人声检测。
onRemoteSoundLevelUpdate远端拉流音频声浪回调。
onLocalCaptureVideoData本地采集视频数据回调。
onRemotePlayVideoData拉流视频数据回调。
onRemoteSoundLevelInfoUpdate远端拉流音频声浪回调,支持人声检测。
onCapturedAudioSpectrumUpdate本地采集音频频谱回调。
onRemoteAudioSpectrumUpdate远端拉流音频频谱回调。
onLocalDeviceExceptionOccurred本地设备异常通知。
onRemoteCameraStateUpdate远端摄像头设备状态通知。
onRemoteMicStateUpdate远端麦克风设备状态通知。
onRemoteSpeakerStateUpdate远端扬声器设备状态通知。
onAudioVADStateUpdate检测音频数据的稳态语音状态的回调。
getCurrentAudioDevice获取当前使用的音频设备信息。

自定义视频采集和渲染

方法名描述
enableCustomVideoCapture开始或停止自定义视频采集,支持设置其他通道的推流。
enableExternalRender开启/关闭外部渲染,当开启外部渲染时,SDK 内部将不再进行数据渲染。
registerCustomVideoCapturePlugin注册自定义视频采集插件
unregisterCustomVideoCapturePlugin注销自定义视频采集插件。
enableCameraVideoDataCapturePlugin开启/关闭摄像头视频数据采集插件
getCameraVideoDataCapturePlugin获取摄像头视频数据采集插件,需要先调用接口 [enableCameraVideoDataCapturePlugin] 开启才能使用。
setCustomVideoCaptureFillMode设置自定义视频采集画面缩放填充模式,支持其他路推流
setCustomVideoCaptureRegionOfInterest设置指定推流通道自定义视频采集编码器的感兴趣区域(ROI)。
enableCustomVideoProcessing自定义视频前处理配置开关,支持指定推流通道号。
registerCustomVideoProcessPlugin注册自定义视频前处理插件
setCustomVideoProcessCutRegion设置自定义视频前处理裁剪区域

自定义音频采集和渲染

方法名描述
enableCustomAudioCaptureProcessing开启本地采集自定义音频处理(耳返前)。
registerCustomAudioProcessPlugin注册自定义音频处理插件。
unregisterCustomAudioProcessPlugin注销自定义音频处理插件。
enableCustomAudioCaptureProcessingAfterHeadphoneMonitor开启本地采集自定义音频处理(耳返后)。
enableCustomAudioIO开启自定义音频 IO 功能,支持其他路推流,支持 PCM 、AAC 格式数据。
registerCustomAudioCapturePlugin注册自定义音频采集插件。
unregisterCustomAudioCapturePlugin注销自定义音频采集插件。

实用工具

方法名描述
startNetworkSpeedTest启动网络测速,支持设置测速周期。
stopNetworkSpeedTest停止网络测速。
getNetworkTimeInfo获取同步网络时间信息。
onNetworkModeChanged网络模式变更回调。
onNetworkSpeedTestError网络测速异常回调。
onNetworkSpeedTestQualityUpdate网络测速质量回调。
onNetworkQuality房间内正在推流的用户的网络质量回调。

版权音乐

方法名描述
createCopyrightedMusic创建版权音乐实例对象。
destroyCopyrightedMusic销毁版权音乐实例对象。
initCopyrightedMusic初始化版权音乐模块。
getCacheSize获取缓存大小。
clearCache清除缓存。
sendExtendedRequest发送扩展功能请求。
getLrcLyricWithVendorID获取 lrc 格式歌词。
getLrcLyricWithConfig获取 lrc 格式歌词。
getKrcLyricByToken获取逐字歌词。
requestResource获取音乐资源。
requestResourceWithConfigV2获取音乐资源。
getSharedResource获取分享歌曲资源。
getSharedResourceWithConfigV2获取分享歌曲资源。
download下载音乐资源。
queryCacheWithConfig查询资源是否有缓存。
queryCacheWithConfigV2查询资源是否有缓存。
getDuration获取歌曲或伴奏文件的播放时长。
setScoringLevel设置打分难度级别。
startScore开始评分。
pauseScore暂停评分。
resumeScore恢复评分。
stopScore结束评分。
resetScore重置评分。
getPreviousScore获取上一句的评分。
getAverageScore获取平均评分。
getTotalScore获取总评分。
getFullScore获取满分。
getStandardPitch获取标准音高数据。
getCurrentPitch获取实时音高数据。
onDownloadProgressUpdate加载歌曲或伴奏进度回调。
onCurrentPitchValueUpdate实时音高线回调。

屏幕共享

方法名描述
getScreenCaptureSources获取屏幕列表或屏幕中的窗口列表。
createScreenCaptureSource创建屏幕采集源
destroyScreenCaptureSource销毁屏幕采集源对象
updateCaptureSource更新屏幕采集源
startCapture开始屏幕采集。
stopCapture停止屏幕采集。
getCaptureSourceRect获取屏幕采集源的矩形。
updateCaptureRegion更新屏幕采集的区域。
updatePublishRegion更新屏幕采集的推流区域。
setExcludeWindowList设置过滤的窗口列表。
enableWindowActivate是否激活窗口提升至前台显示。
enableCursorVisible设置是否显示光标
enableHightLight设置是否高亮采集区域
enableAudioCapture窗口采集时是否采集窗口进程的声音
getIndex获取屏幕采集源索引。
onExceptionOccurred屏幕采集异常通知
onCaptureTypeExceptionOccurred屏幕采集采集源异常通知
onWindowStateChanged采集目标窗口状态发生改变。
onRectChanged采集区域发生改变。

废弃接口列表

方法名描述
init【已废弃】初始化引擎。此函数在 2.14.0 版本及以上已废弃,请使用 [createEngine] 函数代替。
requestSong【已废弃】点歌。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
requestAccompaniment【已废弃】点伴奏。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
requestAccompanimentClip【已废弃】点伴奏高潮片段。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
getMusicByToken【已废弃】获取歌曲或伴奏。此函数在 3.0.2 版本及以上已废弃,请使用 [getSharedResource] 函数代替。
getLrcLyric【已废弃】获取 lrc 格式歌词。此函数在 3.2.1 版本及以上已废弃,请使用 [getLrcLyricWithVendorID]。
queryCache【已废弃】查询资源是否有缓存。此函数在 3.2.1 版本及以上已废弃,请使用 [queryCacheWithVendorID]。
queryCacheWithVendorID【已废弃】查询资源是否有缓存。此函数在 3.9.0 版本及以上已废弃,请使用带 [config] 参数的函数 [queryCacheWithConfig] 代替。
setVoiceChangerParam【已废弃】设置变声的具体参数

Previous

实时音视频 SDK 与实时语音 SDK 差异

Next

Class