功能总览
ZEGO SDK 拥有全面覆盖全球重点区域的网络节点,提供丰富的 API,为多端提供清晰稳定的实时语音视频云服务。
API 返回的错误码请参考:https://doc-zh.zego.im/article/4378。
以下为基本的 API 简要介绍。
初始化相关的前置功能
| 方法名 | 描述 |
|---|---|
| CreateEngine | 创建 ZegoExpressEngine 单例对象并初始化 SDK。 |
| DestroyEngine | 销毁 ZegoExpressEngine 单例对象并反初始化 SDK。 |
| GetEngine | 获取引擎单例对象。 |
| SetEngineConfig | 设置引擎进阶配置。 |
| SetLogConfig | 设置日志配置。 |
| SetLocalProxyConfig | 设置本地代理配置 |
| SetCloudProxyConfig | 设置云代理配置 |
| SetRoomMode | 设置房间模式。 |
| GetVersion | 获取 SDK 版本号。 |
| IsFeatureSupported | 查询当前 SDK 是否支持指定的功能特性。 |
| SetRoomScenario | 设置房间场景。 |
| UploadLog | 上传日志到 ZEGO 服务器。 |
| SubmitLog | 上传日志到 ZEGO 服务器。 |
| EnableDebugAssistant | 开启调试助手。注意,请勿在线上版本开启此功能!仅在开发阶段使用! |
| CallExperimentalAPI | 调用实验性 API。 |
| OnDebugError | 调试错误信息回调。 |
| OnApiCalledResult | 方法执行结果回调。 |
| OnEngineStateUpdate | 音视频引擎状态更新的回调通知。 |
| OnRecvExperimentalAPI | 实验性 API 回调。 |
| CheckSystemRequirements | Web 支持能力检测接口。 |
房间功能
| 方法名 | 描述 |
|---|---|
| LoginRoom | 使用配置进阶属性的方式登录房间,推拉流前必须登录房间。 |
| LoginRoom | 使用带配置进阶属性的方式登录房间,通过回调参数返回登录结果,推拉流前必须登录房间。 |
| LogoutRoom | 退出房间,带回调。 |
| LogoutRoom | 退出指定房间 ID 的房间,并带有回调。 |
| SwitchRoom | 使用配置进阶属性的方式切换房间。 |
| RenewToken | 更新 token 鉴权信息。 |
| SetRoomExtraInfo | 设置房间附加消息。 |
| OnRoomStateUpdate | 房间状态变化通知。 |
| OnRoomStateChanged | 房间状态变化通知,包含具体的状态变化原因。 |
| OnRoomUserUpdate | 房间内其他用户增加或减少的回调通知。 |
| OnRoomOnlineUserCountUpdate | 房间内当前在线用户数量回调。 |
| OnRoomStreamUpdate | 相同房间内其他用户推的流增加或减少的通知。 |
| OnRoomStreamExtraInfoUpdate | 房间内流附加信息更新通知。 |
| OnRoomExtraInfoUpdate | 房间附加信息更新通知。 |
| OnRoomTokenWillExpire | 房间 Token 鉴权将要过期的回调通知。 |
推流功能
拉流功能
信令消息功能
| 方法名 | 描述 |
|---|---|
| CreateRealTimeSequentialDataManager | 创建实时有序数据管理器对象 |
| DestroyRealTimeSequentialDataManager | 销毁实时有序数据管理器对象 |
| StartBroadcasting | 开始广播实时有序数据流。 |
| StopBroadcasting | 停止广播实时有序数据流 |
| SendRealTimeSequentialData | 在广播中的流 ID 上发送实时有序数据 |
| StartSubscribing | 开始订阅实时有序数据流。 |
| StopSubscribing | 停止订阅实时有序数据流。 |
| GetIndex | 获取实时有序数据管理器索引。不适用于 WebGL。 |
| OnReceiveRealTimeSequentialData | 收到实时有序数据回调 |
| SendBroadcastMessage | 发送房间广播消息。 |
| SendBarrageMessage | 发送房间弹幕消息。 |
| SendCustomCommand | 发送自定义信令。 |
| OnIMRecvBroadcastMessage | 接收房间广播消息通知。 |
| OnIMRecvBarrageMessage | 接收房间弹幕消息通知。 |
| OnIMRecvCustomCommand | 接收自定义信令通知。 |
混流功能
| 方法名 | 描述 |
|---|---|
| StartMixerTask | 开始混流任务。 |
| StopMixerTask | 停止混流任务。 |
| StartAutoMixerTask | 开始自动混流任务 |
| StopAutoMixerTask | 停止自动混流任务 |
| OnMixerRelayCDNStateUpdate | 混流转推 CDN 状态更新通知。 |
| OnMixerSoundLevelUpdate | 混流中的每条单流的声浪更新通知。 |
| OnAutoMixerSoundLevelUpdate | 自动混流中的每条单流的声浪更新通知 |
音视频前处理
| 方法名 | 描述 |
|---|---|
| EnableAEC | 是否开启回声消除。 |
| EnableHeadphoneAEC | 是否在使用耳机时开启回声消除。 |
| SetAECMode | 设置回声消除模式 |
| EnableAGC | 开/关自动增益控制 |
| EnableANS | 开/关噪声抑制 |
| EnableTransientANS | 开/关瞬态噪声抑制 |
| SetANSMode | 设置音频噪声抑制模式 |
| StartEffectsEnv | 开启 Effects 美颜环境。 |
| StopEffectsEnv | 关闭 Effects 美颜环境。 |
| EnableEffectsBeauty | 开启或关闭美颜效果。 |
| SetEffectsBeautyParam | 设置美颜效果参数。 |
| SetAudioEqualizerGain | 设置音效均衡器(EQ)。 |
| SetVoiceChangerPreset | 通过预设枚举设置变声。 |
| SetVoiceChangerParam | 设置变声的具体参数。 |
| SetReverbPreset | 通过预设枚举设置混响。 |
| SetReverbAdvancedParam | 设置混响的具体参数。 |
| SetReverbEchoParam | 设置混响回声效果的具体参数。 |
| EnableVirtualStereo | 开启或关闭推流时的虚拟立体声效果。 |
| EnablePlayStreamVirtualStereo | 开启或关闭拉流时的虚拟立体声效果。 |
| SetElectronicEffects | 开启或关闭电音效果。 |
| EnableColorEnhancement | 开启色彩增强。 |
媒体播放器功能
音效播放器功能
| 方法名 | 描述 |
|---|---|
| CreateAudioEffectPlayer | 创建音效播放器实例对象。 |
| DestroyAudioEffectPlayer | 销毁音效播放器实例对象。 |
| Start | 开始播放音效。 |
| Stop | 停止播放音效。 |
| Pause | 暂停播放音效。 |
| Resume | 恢复播放音效。 |
| StopAll | 停止播放所有音效。 |
| PauseAll | 暂停播放所有音效。 |
| ResumeAll | 恢复播放所有音效。 |
| SeekTo | 设置播放进度。 |
| SetVolume | 设置单个音效的播放音量,会同时设置本地播放音量和推流音量。 |
| SetVolumeAll | 设置所有音效的播放音量,会同时设置本地播放音量和推流音量。 |
| GetTotalDuration | 获取指定音效资源的总长度。 |
| GetCurrentProgress | 获取当前播放进度。 |
| LoadResource | 加载音效资源。 |
| UnloadResource | 卸载音效资源。 |
| UpdatePosition | 更新音效播放器(音频源)位置。 |
| GetIndex | 获取音效播放器索引。 |
| OnAudioEffectPlayStateUpdate | 音效播放状态回调。 |
录制功能
| 方法名 | 描述 |
|---|---|
| StartRecordingCapturedData | 开始本地录制,直接将音视频数据录制到本地文件。 |
| StopRecordingCapturedData | 结束录制本端音频或音视频。 |
| OnCapturedDataRecordStateUpdate | 本地录制的状态更新回调,当录制过程状态变化时触发。 |
| OnCapturedDataRecordProgressUpdate | 录制进度更新回调。 |
设备管理
自定义视频采集和渲染
| 方法名 | 描述 |
|---|---|
| EnableCustomVideoRender | 开始或停止自定义视频渲染。 |
| EnableCustomVideoCapture | 开始或停止自定义视频采集,支持设置其他通道的推流。 |
| SendCustomVideoCaptureRawData | 给 SDK 发送自定义采集的视频帧原始数据,支持其他路推流。 |
| SendCustomVideoCaptureRawData | 给 SDK 发送自定义采集的视频帧原始数据,支持其他路推流 |
| OnCustomVideoCaptureStart | 自定义视频采集开始的通知。 |
| OnCustomVideoCaptureStop | 自定义视频采集结束的通知。 |
| OnCapturedVideoFrameRawData | 开启自定义视频渲染时,本地预览采集的原始视频帧数据回调。 |
| OnRemoteVideoFrameRawData | 开启自定义视频渲染时,远端拉流原始视频帧数据回调,通过 streamID 区分不同的流。 |
| EnableCustomVideoProcessing | 自定义视频前处理配置开关,支持指定推流通道号。 |
| SendCustomVideoProcessedRawData | 将自定义视频前处理后的原始视频数据发送给 SDK,支持其他路推流。 |
| SendCustomVideoProcessedCVPixelBuffer | 将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK。支持其他路推流。 |
| SendCustomVideoProcessedTextureData | 将自定义视频前处理后的 [Texture] 类型视频数据发送给 SDK。支持其他路推流。 |
| OnCapturedUnprocessedRawData | 当获取到原始视频数据时回调。 |
| OnCapturedUnprocessedCVPixelBuffer | 当获取到 [CVPixelBuffer] 类型的原始视频数据时回调。 |
| OnCapturedUnprocessedTextureData | 当 SDK 获取到 [Texture] 类型的原始视频数据时回调。 |
自定义音频采集和渲染
| 方法名 | 描述 |
|---|---|
| StartAudioDataObserver | 开启音频数据回调监测。 |
| StopAudioDataObserver | 停止音频数据回调监测。 |
| EnableCustomAudioIO | 开启自定义音频 IO 功能,支持其他路推流,支持 PCM 、AAC 格式数据。 |
| SendCustomAudioCaptureAACData | 发送自定义音频采集 AAC 数据,支持设置其他通道的推流。 |
| SendCustomAudioCapturePCMData | 发送自定义音频采集 PCM 数据,支持其他路推流。 |
| FetchCustomAudioRenderPCMData | 从 SDK 取远端拉流自定义音频渲染 PCM 数据。 |
| OnCapturedAudioData | 获取本地麦克风采集到的音频数据的回调. |
| OnPlaybackAudioData | 获取 SDK 播放的音频数据的回调。 |
| OnMixedAudioData | 获取 SDK 播放的音频数据和本地麦克风采集到的音频数据的回调,该音频数据是经过 SDK 混合之后的数据。 |
| OnPlayerAudioData | 获取 SDK 每条拉流的音频数据的回调。 |
实用工具
| 方法名 | 描述 |
|---|---|
| GetNetworkTimeInfo | 获取同步网络时间信息。 |
| OnNetworkQuality | 房间内正在推流的用户的网络质量回调。 |
| OnNetworkTimeSynchronized | 网络时间同步成功的回调 |
范围语音
| 方法名 | 描述 |
|---|---|
| CreateRangeAudio | 创建范围语音实例对象。 |
| DestroyRangeAudio | 销毁范围语音实例对象。 |
| SetAudioReceiveRange | 设置音频接收距离的最大范围。 |
| SetAudioReceiveRange | 设置音频接收范围的配置。 |
| SetRangeAudioVolume | 设置范围语音音量 |
| SetStreamVocalRange | 设置流的发声范围 |
| UpdateSelfPosition | 更新自身的位置和朝向。 |
| UpdateAudioSource | 添加或更新音源位置信息。 |
| EnableSpatializer | 开启或关闭 3D 音效。 |
| EnableMicrophone | 开启或关闭麦克风。 |
| EnableSpeaker | 开启或关闭扬声器。 |
| SetRangeAudioMode | 设置范围语音模式。 |
| SetRangeAudioCustomMode | 设置范围语音的高阶自定义模式。 |
| SetTeamID | 设置队伍 ID |
| MuteUser | 是否可接收指定用户音频数据。 |
| OnRangeAudioMicrophoneStateUpdate | 范围语音麦克风使用状态回调。 |
版权音乐
| 方法名 | 描述 |
|---|---|
| CreateCopyrightedMusic | 创建版权音乐实例对象。 |
| DestroyCopyrightedMusic | 销毁版权音乐实例对象。 |
| InitCopyrightedMusic | 初始化版权音乐模块。 |
| GetCacheSize | 获取缓存大小。 |
| ClearCache | 清除缓存。 |
| SendExtendedRequest | 发送扩展功能请求。 |
| GetLrcLyric | 获取 lrc 格式歌词。 |
| GetLrcLyric | 获取 lrc 格式歌词。 |
| GetKrcLyricByToken | 获取逐字歌词。 |
| RequestResource | 获取音乐资源。 |
| RequestResource | 获取音乐资源。 |
| GetSharedResource | 获取分享歌曲资源。 |
| GetSharedResource | 获取分享歌曲资源。 |
| Download | 下载音乐资源。 |
| CancelDownload | 取消下载音乐资源。 |
| QueryCache | 查询资源是否有缓存。 |
| QueryCache | 查询资源是否有缓存。 |
| GetDuration | 获取歌曲或伴奏文件的播放时长。 |
| SetScoringLevel | 设置打分难度级别。 |
| StartScore | 开始评分。 |
| PauseScore | 暂停评分。 |
| ResumeScore | 恢复评分。 |
| StopScore | 结束评分。 |
| ResetScore | 重置评分。 |
| GetPreviousScore | 获取上一句的评分。 |
| GetAverageScore | 获取平均评分。 |
| GetTotalScore | 获取总评分。 |
| GetFullScore | 获取满分。 |
| GetStandardPitch | 获取标准音高数据。 |
| GetCurrentPitch | 获取实时音高数据。 |
| OnDownloadProgressUpdate | 加载歌曲或伴奏进度回调。 |
| OnCurrentPitchValueUpdate | 实时音高线回调。 |
范围场景
| 方法名 | 描述 |
|---|---|
| SetReceiveRange | 设置音视频流的接收范围。 |
| SetReceiveRange | 设置音视频流的接收范围。 |
| EnableRangeSpatializer | 开启或关闭 3D 空间音效。 |
| MutePlayAudio | 设置是否接收指定用户的音频数据。 |
| MutePlayVideo | 设置是否接收指定用户的视频数据。 |
| OnUserStreamStateUpdate | 本端拉其他用户的流状态变更回调通知。 |
| OnUserMicUpdate | 用户麦克风状态变更回调。 |
| OnUserCameraUpdate | 用户摄像头状态变更回调。 |
| OnUserSpeakerUpdate | 用户扬声器状态变更回调。 |
| CreateRangeScene | 创建范围场景实例对象。 |
| DestroyRangeScene | 销毁范围场景实例对象。 |
| GetRangeSceneStream | 获取范围场景流管理实例对象。 |
| GetRangeSceneHandle | 获取范围场景实例句柄。 |
| LoginScene | 登录场景。 |
| LogoutScene | 退出场景。 |
| UpdateUserStatus | 更新用户的状态。 |
| UpdateUserCommand | 更新用户的指令。 |
| UpdateUserPosition | 更新用户的位置。 |
| GetUserCount | 获取场景内总人数。 |
| GetUserListInView | 获取范围内用户列表。 |
| SendCustomCommand | 发送用户自定义信令。 |
| RenewToken | 更新 Token 鉴权信息。 |
| SetStreamConfig | 设置场景推拉流模式。 |
| OnSceneStateUpdate | 场景状态变化通知 |
| OnEnterView | 其他用户进入当前用户视野范围回调。 |
| OnLeaveView | 其他用户离开当前用户视野范围回调通知。 |
| OnUserStatusUpdate | 用户状态变更回调。 |
| OnUserCommandUpdate | 用户指令变更回调。 |
| OnCustomCommandUpdate | 用户自定义信令变更回调。 |
| OnSceneTokenWillExpire | 场景 Token 鉴权将要过期的回调通知。 |
屏幕共享
| 方法名 | 描述 |
|---|---|
| GetScreenCaptureSources | 获取屏幕列表或屏幕中的窗口列表。 |
| CreateScreenCaptureSource | 创建屏幕采集源 |
| DestroyScreenCaptureSource | 销毁屏幕采集源对象 |
| UpdateCaptureSource | 更新屏幕采集源 |
| StartCapture | 开始屏幕采集。 |
| StopCapture | 停止屏幕采集。 |
| GetCaptureSourceRect | 获取屏幕采集源的矩形。 |
| UpdateCaptureRegion | 更新屏幕采集的区域。 |
| SetExcludeWindowList | 设置过滤的窗口列表。 |
| EnableWindowActivate | 是否激活窗口提升至前台显示。 |
| EnableCursorVisible | 设置是否显示光标 |
| GetIndex | 获取屏幕采集源索引。 |
| OnAvailableFrame | 屏幕采集数据的回调 |
| OnExceptionOccurred | 屏幕采集异常通知 |
| OnWindowStateChanged | 采集目标窗口状态发生改变。 |
| OnRectChanged | 采集区域发生改变。 |
| SetAppGroupID | 设置 App Group 配置项。 |
| StartScreenCaptureInApp | 开始屏幕采集,仅限 app 应用内录屏。 |
| StartScreenCapture | 开始屏幕采集。 |
| StopScreenCapture | 停止屏幕采集。 |
| UpdateScreenCaptureConfig | 更新屏幕采集参数配置。 |
| OnMobileScreenCaptureExceptionOccurred | 屏幕采集异常通知。 |
废弃接口列表
| 方法名 | 描述 |
|---|---|
| EnableBeautify | 【已废弃】开/关美颜,为任意推流通道设置。此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。 |
| SetBeautifyOption | 【已废弃】设置美颜参数。此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。 |
| CreateEngine | 【已废弃】创建 ZegoExpressEngine 单例对象并初始化 SDK。此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。请参考 测试环境废弃说明 |
| 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 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。 |
| QueryCache | 【已废弃】查询资源是否有缓存。此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。 |
| QueryCache | 【已废弃】查询资源是否有缓存。此函数在 3.9.0 版本及以上已废弃,请使用带 [config] 参数的同名函数代替。 |
| SetVoiceChangerParam | 【已废弃】设置变声的具体参数 |

