客户端API

产品 / 插件
平台 / 框架
语言

功能总览

更新时间:2021-09-10 01:37

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

初始化相关的前置功能

方法名 描述
createEngine 创建 ZegoExpressEngine 单例对象并初始化 SDK
destroyEngine 异步销毁引擎单例对象,释放资源
getEngine 获取引擎单例对象。
setEngineConfig 设置引擎进阶配置。
setLogConfig 设置日志配置。
setRoomMode 设置房间模式。
getVersion 获取 SDK 版本号。
setApiCalledCallback 设置方法执行结果回调。
setEventHandler 设置事件通知回调。
uploadLog 上传日志到 ZEGO 服务器。
uploadLog 上传日志到 ZEGO 服务器。
callExperimentalAPI 调用 RTC 试验性 API。
setDummyCaptureImagePath 设置关闭摄像头时所推静态图片的路径
onDebugError 调试错误信息回调。
onApiCalledResult 方法执行结果回调。
onEngineStateUpdate 音视频引擎状态更新的回调通知

房间功能

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

推流功能

方法名 描述
startPublishingStream 开始推流
startPublishingStream 开始推流,可选择推第二路流
startPublishingStream 开始推流,支持多房间模式
stopPublishingStream 停止推流
stopPublishingStream 停止推流,可停止指定通道的音视频流
setStreamExtraInfo 设置流附加信息。
setStreamExtraInfo 设置指定推流通道的流附加信息。
startPreview 启动/更新本地预览
startPreview 启动/更新本地预览,支持设置其他通道的推流
stopPreview 停止本地预览
stopPreview 停止本地预览,支持设置其他通道的推流
setVideoConfig 设置视频配置
setVideoConfig 设置视频配置,支持设置其他通道的推流
getVideoConfig 获取当前视频配置
getVideoConfig 获取当前视频配置,支持设置其他通道的推流
setVideoMirrorMode 设置镜像模式
setVideoMirrorMode 设置镜像模式,支持设置其他通道的推流
setAppOrientation 设置视频的朝向
setAppOrientation 设置采集视频的朝向,支持设置其他通道的推流
setAudioConfig 设置音频质量配置。
setAudioConfig 设置指定推流通道的音频质量配置。
getAudioConfig 获取当前音频质量配置。
getAudioConfig 获取指定推流通道的当前音频质量配置。
setPublishStreamEncryptionKey 设置推流加密密钥。
setPublishStreamEncryptionKey 设置指定推流通道的推流加密密钥。
takePublishStreamSnapshot 对推流画面截图。
takePublishStreamSnapshot 对指定推流通道的推流画面截图。
mutePublishStreamAudio 停止或恢复发送音频流。
mutePublishStreamAudio 停止或恢复发送指定推流通道的音频流。
mutePublishStreamVideo 停止或恢复发送视频流。
mutePublishStreamVideo 停止或恢复发送指定推流通道的视频流。
enableTrafficControl 开始或停止流量控制。
enableTrafficControl 开始或停止指定推流通道的流量控制。
setMinVideoBitrateForTrafficControl 设置流量控制的最低视频码率阈值。
setMinVideoBitrateForTrafficControl 设置指定推流通道的流量控制视频码率最低值
setTrafficControlFocusOn 设置触发流量控制的关注因素。
setTrafficControlFocusOn 设置指定推流通道的触发流量控制的关注因素。
setCaptureVolume 设置推流端采集音量。
setAudioCaptureStereoMode 设置音频采集双声道模式。
addPublishCdnUrl 增加转推至 CDN 的 URL。
removePublishCdnUrl 删除转推至 CDN 的 URL。
enablePublishDirectToCDN 是否不经过 ZEGO RTC 服务器直接推流到 CDN。
enablePublishDirectToCDN 是否不经过 Zego RTC 服务器直接推流到 CDN,支持设置其他通道的推流。
setPublishWatermark 设置推流水印。
setPublishWatermark 设置推流水印,支持设置其他通道的推流。
setSEIConfig 设置媒体增强补充信息类型。
sendSEI 发送媒体增强补充信息。
sendSEI 发送媒体增强补充信息。
enableHardwareEncoder 开/关硬件编码。
setCapturePipelineScaleMode 设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放。
enableH265EncodeFallback 是否开启 H.265 编码自动降级到 H.264 编码。
isVideoEncoderSupported 是否支持指定视频编码类型。
onPublisherStateUpdate 推流状态回调。
onPublisherQualityUpdate 推流质量回调。
onPublisherCapturedAudioFirstFrame 推流端音频采集首帧回调。
onPublisherCapturedVideoFirstFrame 推流端视频采集首帧回调。
onPublisherRenderVideoFirstFrame 推流端视频渲染首帧回调。
onPublisherVideoSizeChanged 采集视频大小变更回调。
onPublisherRelayCDNStateUpdate 添加/删除转推 CDN 地址状态回调。
onPublisherVideoEncoderChanged 视频编码器变更回调。

拉流功能

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

信令消息功能

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

混流功能

方法名 描述
startMixerTask 开始混流任务。
stopMixerTask 停止混流任务。
startAutoMixerTask 开始自动混流任务
stopAutoMixerTask 停止自动混流任务
onMixerRelayCDNStateUpdate 混流转推 CDN 状态更新通知。
onMixerSoundLevelUpdate 混流中的每条单流的的声浪更新通知。
onAutoMixerSoundLevelUpdate 自动混流中的每条单流的的声浪更新通知

音视频前处理

方法名 描述
enableAEC 是否开启回声消除。
enableHeadphoneAEC 是否在使用耳机时开启回声消除。
setAECMode 设置回声消除模式
enableAGC 开/关自动增益控制
enableANS 开/关噪声抑制
enableTransientANS 开/关瞬态噪声抑制
setANSMode 设置音频噪声抑制模式
enableAudioMixing 开/关混音功能
setAudioMixingHandler 设置混音回调
muteLocalAudioMixing 静音或恢复本地播放混音声音。
setAudioMixingVolume 设置混音音量(同时设置本地和远端的音量)
setAudioMixingVolume 设置混音音量(可分别设置本地、远端的音量)
enableBeautify 开/关美颜,为主推流通道设置。
enableBeautify 开/关美颜,为任意推流通道设置
setBeautifyOption 设置美颜参数。
setBeautifyOption 设置美颜参数。
setAudioEqualizerGain 设置音效均衡器(EQ)。
setVoiceChangerPreset 通过预设枚举设置变声。
setVoiceChangerParam 设置变声的具体参数。
setReverbPreset 通过预设枚举设置混响。
setReverbAdvancedParam 设置混响的具体参数。
setReverbEchoParam 设置混响回声效果的具体参数。
enableVirtualStereo 开启推流时带虚拟立体声效果。
enablePlayStreamVirtualStereo 开启或关闭拉流的虚拟立体声效果
onAudioMixingCopyData 混音数据回调。

媒体播放器功能

方法名 描述
createMediaPlayer 创建媒体播放器实例对象
destroyMediaPlayer 销毁媒体播放器实例对象
onMediaPlayerStateUpdate 播放器播放状态回调
onMediaPlayerNetworkEvent 播放器网络状态事件回调
onMediaPlayerPlayingProgress 播放器播放进度回调
onMediaPlayerRecvSEI 媒体次要信息回调
onVideoFrame 播放器抛视频数据的回调
onAudioFrame 播放器抛音频数据的回调

音效播放器功能

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

录制功能

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

设备管理

方法名 描述
muteMicrophone 是否静音(关闭麦克风)
isMicrophoneMuted 检查麦克风是否设置为静音
muteSpeaker 是否静音(关闭音频输出)
isSpeakerMuted 检查音频输出是否静音
enableAudioCaptureDevice 开/关音频采集设备
getAudioRouteType 获取当前音频路由
setAudioRouteToSpeaker 设置音频路由到扬声器
enableCamera 开/关摄像头
enableCamera 开/关摄像头,支持设置其他通道的推流
useFrontCamera 切换前后摄像头
useFrontCamera 切换前后摄像头,支持设置其他通道的推流
setCameraExposureCompensation 支持版本:2.10.0 及以上详情描述:设置摄像头曝光补偿数值。调用时机:在开启预览 [startPreview] 后调用
setCameraExposureCompensation 支持版本:2.10.0 及以上详情描述:设置摄像头曝光补偿数值。调用时机:在开启预览 [startPreview] 后调用
setCameraZoomFactor 设置摄像头变焦倍数
setCameraZoomFactor 设置摄像头变焦倍数
getCameraMaxZoomFactor 获取摄像头最大变焦倍数
getCameraMaxZoomFactor 获取摄像头最大变焦倍数
startSoundLevelMonitor 启动声浪监控
startSoundLevelMonitor 启动声浪监控,支持设置监听间隔
startSoundLevelMonitor 启动声浪监控,支持开启进阶功能
stopSoundLevelMonitor 停止声浪监控
startAudioSpectrumMonitor 启动音频频谱监控
startAudioSpectrumMonitor 启动音频频谱监控,支持设置监听间隔
stopAudioSpectrumMonitor 停止音频频谱监控
enableHeadphoneMonitor 开启/关闭 耳返
setHeadphoneMonitorVolume 设置耳返音量
onCapturedSoundLevelUpdate 本地采集音频声浪回调
onCapturedSoundLevelInfoUpdate 本地采集音频声浪回调
onRemoteSoundLevelUpdate 远端拉流音频声浪回调
onRemoteSoundLevelInfoUpdate 远端拉流音频声浪回调
onCapturedAudioSpectrumUpdate 本地采集音频频谱回调
onRemoteAudioSpectrumUpdate 远端拉流音频频谱回调
onDeviceError 设备异常通知
onRemoteCameraStateUpdate 远端摄像头设备状态通知
onRemoteMicStateUpdate 远端麦克风设备状态通知
onRemoteSpeakerStateUpdate 远端扬声器设备状态通知
onAudioRouteChange 音频设备路由变更通知

自定义视频采集和渲染

方法名 描述
enableCustomVideoRender 开始或停止自定义视频渲染
setCustomVideoRenderHandler 设置自定义视频渲染回调
enableCustomVideoCapture 开始或停止自定义视频采集
enableCustomVideoCapture 开始或停止自定义视频采集,支持设置其他通道的推流
setCustomVideoCaptureHandler 设置自定义视频采集回调
sendCustomVideoCaptureRawData 给 SDK 发送自定义采集的视频帧原始数据
sendCustomVideoCaptureRawData 给 SDK 发送自定义采集的视频帧裸数据,支持其他路推流
sendCustomVideoCaptureTextureData 向 SDK 发送自定义采集的视频帧 Texture 数据
sendCustomVideoCaptureTextureData 向 SDK 发送自定义采集的视频帧 Texture 数据,支持其他路推流
getCustomVideoCaptureSurfaceTexture 获取 SurfaceTexture 实例,使用主通道的推流
getCustomVideoCaptureSurfaceTexture 获取 SurfaceTexture 实例,支持设置其他通道的推流
sendCustomVideoCaptureEncodedData 给 SDK 发送自定义采集的视频帧编码后的数据
sendCustomVideoCaptureEncodedData 给 SDK 发送自定义采集的视频帧编码后的数据,支持其他路推流
setCustomVideoCaptureFillMode 设置自定义视频采集画面缩放填充模式
setCustomVideoCaptureFillMode 设置自定义视频采集画面缩放填充模式,支持其他路推流
setCustomVideoCaptureFlipMode 设置自定义采集画面翻转模式,仅当自定义采集类型为 Texture2D 时,此函数生效。
setCustomVideoCaptureFlipMode 设置自定义采集画面翻转模式,支持其他路推流。仅当自定义采集类型为 Texture2D 时,此函数生效。
onCaptureStart SDK 通知将要开始采集视频帧,收到该回调后向 SDK 发送的视频帧数据才有效
onCaptureStop SDK 通知将要停止采集视频帧
onEncodedDataTrafficControl SDK 检测到网络变化,通知开发者需要做流量控制由于自定义采集传输已编码数据的情况下,SDK 无法得知外部的编码配置,因此流控操作需要开发者自行完成SDK 会根据当前的网络情况,将视频配置的推荐值通知到开发者,开发者需要自行对编码器配置进行修改,以保证视频传输的流畅性请不要在此回调中执行耗时操作,若需执行耗时操作,请切换线程
onCapturedVideoFrameRawData 本地预览视频帧裸数据回调
onRemoteVideoFrameRawData 远端拉流视频帧裸数据回调,通过 streamID 区分不同的流
onRemoteVideoFrameEncodedData 远端拉流视频帧编码数据回调,通过 streamID 区分不同的流
enableCustomVideoProcessing 自定义视频前处理配置开关
enableCustomVideoProcessing 自定义视频前处理配置开关
setCustomVideoProcessHandler 设置自定义视频前处理回调
sendCustomVideoProcessedTextureData 将自定义视频前处理后的 [Texture] 类型视频数据发送给 SDK
sendCustomVideoProcessedTextureData 将自定义视频前处理后的 [Texture] 类型视频数据发送给 SDK。支持其他路推流
onProcessStart SDK 通知开发者将要开始进行视频前处理
onProcessStop SDK 通知开发者停止进行视频前处理
getCustomVideoProcessOutputSurfaceTexture 获取用于输出数据的 SurfaceTexture
getCustomVideoProcessOutputSurfaceTexture 获取用于输出数据的 SurfaceTexture。支持其他路推流
onCapturedUnprocessedTextureData 当获取到 [Texture] 类型的原始视频数据时回调
getCustomVideoProcessInputSurfaceTexture 当开发者选用 SurfaceTexture 视频前处理类型时,SDK 需要向开发者获取用于输入原始视频数据 SurfaceTexture

自定义音频采集和渲染

方法名 描述
enableCustomAudioCaptureProcessing 开启本地采集自定义音频处理。
enableCustomAudioRemoteProcessing 开启远端拉流自定义音频处理。
enableCustomAudioPlaybackProcessing 开启 SDK 播放的音频数据的自定义音频处理。
setCustomAudioProcessHandler 设置自定义音频处理回调
startAudioDataObserver 开启音频数据回调监测
stopAudioDataObserver 停止音频数据回调监测
setAudioDataHandler 设置额外接收音频数据的回调
enableCustomAudioIO 开启自定义音频 IO 功能
enableCustomAudioIO 开启自定义音频 IO 功能,支持其他路推流
sendCustomAudioCaptureAACData 发送自定义音频采集 AAC 数据
sendCustomAudioCaptureAACData 发送自定义音频采集 AAC 数据,支持设置其他通道的推流
sendCustomAudioCapturePCMData 发送自定义音频采集 PCM 数据
sendCustomAudioCapturePCMData 发送自定义音频采集 PCM 数据,支持其他路推流
fetchCustomAudioRenderPCMData 撷取远端拉流自定义音频渲染 PCM 数据
onProcessCapturedAudioData 自定义音频处理本地采集 PCM 音频帧回调。
onProcessRemoteAudioData 自定义音频处理远端拉流 PCM 音频帧回调。
onProcessPlaybackAudioData 自定义音频处理 SDK 播放音频的 PCM 音频帧回调。
onCapturedAudioData 获取本地麦克风采集到的音频数据的回调
onPlaybackAudioData 获取 SDK 播放的音频数据的回调
onMixedAudioData 获取所有拉到的流的音频数据和本地麦克风采集到的音频数据的回调,该音频数据是经过 SDK 混合之后的数据
onPlayerAudioData 获取 SDK 每条拉流的音频数据的回调

媒体推流器

暂不支持

实用工具

方法名 描述
startPerformanceMonitor 启动系统性能状态监控,支持设置监听间隔
stopPerformanceMonitor 停止系统性能状态监控
startNetworkProbe 启动网络探测
stopNetworkProbe 停止网络探测
startNetworkSpeedTest 开始网络测速
startNetworkSpeedTest 开始网络测速(支持设置测速周期)
stopNetworkSpeedTest 停止网络测速
getNetworkTimeInfo 获取同步网络时间信息,包括时间戳和最大误差
onPerformanceStatusUpdate 系统性能监控状态回调(注意:由于 Android 系统限制,无法获取 CPU 使用量)
onNetworkModeChanged 网络模式变更回调
onNetworkSpeedTestError 网络测速异常回调通知
onNetworkSpeedTestQualityUpdate 网络测速质量回调通知。
onRecvExperimentalAPI 接收自定义 JSON 内容
onNetworkQuality 房间内正在推拉流的用户的网络质量回调。

范围语音

方法名 描述
createRangeAudio 创建范围语音实例对象。
destroyRangeAudio 销毁范围语音实例对象。
setEventHandler 设置范围语音回调。
setAudioReceiveRange 设置音频接收距离的最大范围。
updateSelfPosition 更新自身的位置和朝向。
updateAudioSource 添加或更新音源位置信息。
enableSpatializer 开启或关闭 3D 音效。
enableMicrophone 开启或关闭麦克风。
enableSpeaker 开启或关闭扬声器。
setRangeAudioMode 设置范围语音模式。
setTeamID 设置队伍 ID
onRangeAudioMicrophoneStateUpdate 范围语音麦克风使用状态回调。

废弃接口列表

方法名 描述
setDebugVerbose 【已废弃】设置调试详细信息开关以及语言
loginMultiRoom 【已废弃】登录多房间。
setPlayStreamVideoLayer 【已废弃】设置选取拉流视频图层。
enableAudioDataCallback 【已废弃】开启额外接收音频数据的回调
setReverbParam 【已废弃】设置混响的具体参数
setBuiltInSpeakerOn 【已废弃】是否使用内置扬声器播放声音。此函数在 2.3.0 版本以后已废弃,请使用 [setAudioRouteToSpeaker] 代替。
onRoomStreamUpdate 【已废弃】相同房间内其他用户推的流增加或减少的通知
onNetworkQuality 【已废弃】回报房间中流的网络质量。