客户端API

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

功能总览

更新时间:2021-04-29 23:25

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

初始化相关的前置功能

方法名 描述
createEngine 创建引擎单例对象
destroyEngine 异步销毁引擎单例对象
getEngine 获取引擎单例对象
setEngineConfig 设置引擎进阶配置
setLogConfig 设置日志属性
getVersion 获取 SDK 版本号
setApiCalledCallback 设置调用方法执行结果的回调,设置后可以获取到每次执行ZEGO SDK方法结果的详细信息
setEventHandler 设置事件通知回调,传 [null] 则清空已设置的回调
uploadLog 上传日志到 ZEGO 服务器
uploadLog 上传日志到 ZEGO 服务器
setDebugVerbose 设置调试详细信息开关以及语言
callExperimentalAPI 调用 RTC 试验性 API
onDebugError 调试错误信息回调
onApiCalledResult 方法执行结果回调
onEngineStateUpdate 音视频引擎状态更新回调

房间功能

方法名 描述
loginRoom 登录房间,推拉流前必须登录房间
loginRoom 使用配置进阶属性的方式登录房间,推拉流前必须登录房间
loginMultiRoom 登录多房间
logoutRoom 退出房间
switchRoom 切换房间
switchRoom 使用配置进阶属性的方式切换房间
setRoomExtraInfo 设置房间附加消息
onRoomStateUpdate 房间状态变化通知
onRoomUserUpdate 房间内其他用户增加或减少的通知回调
onRoomOnlineUserCountUpdate 房间内当前在线用户数量回调
onRoomStreamUpdate (已废弃,请使用带 [extendedData] 参数的同名回调代替)相同房间内其他用户推的流增加或减少的通知
onRoomStreamUpdate 相同房间内其他用户推的流增加或减少的通知
onRoomStreamExtraInfoUpdate 房间内流附加信息更新通知
onRoomExtraInfoUpdate 房间附加信息更新通知

推流功能

方法名 描述
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 设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放
onPublisherStateUpdate 推流状态回调
onPublisherQualityUpdate 推流质量回调
onPublisherCapturedAudioFirstFrame 推流端音频采集首帧回调
onPublisherCapturedVideoFirstFrame 推流端视频采集首帧回调
onPublisherRenderVideoFirstFrame 推流端视频渲染首帧回调
onPublisherVideoSizeChanged 采集视频大小变更回调
onPublisherRelayCDNStateUpdate 添加/删除转推 CDN 地址状态回调

拉流功能

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

信令消息功能

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

混流功能

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

音视频前处理

方法名 描述
enableAEC 开/关回声消除
enableHeadphoneAEC 是否在使用耳机时开启回声消除
setAECMode 设置回声消除模式
enableAGC 开/关自动增益
enableANS 开/关噪声抑制
enableTransientANS 开/关瞬态噪声抑制
setANSMode 设置音频噪声抑制模式
enableAudioMixing 开/关 混音功能
setAudioMixingHandler 设置混音相关回调
muteLocalAudioMixing 禁止或恢复本地播放混音声音
setAudioMixingVolume 设置混音音量
setAudioMixingVolume 设置不同类型的混音音量
enableBeautify 开/关美颜
enableBeautify 开/关美颜,支持设置其他通道的推流
setBeautifyOption 设置美颜参数
setBeautifyOption 设置美颜参数,支持设置其他通道的推流
setAudioEqualizerGain 设置音效均衡器(EQ)
setVoiceChangerPreset 通过预设枚举设置变声
setVoiceChangerParam 设置变声的具体参数
setReverbPreset 通过预设枚举设置混响
setReverbAdvancedParam 设置混响的具体参数
setReverbEchoParam 设置混响回声效果的具体参数
enableVirtualStereo 开启虚拟立体声
onAudioMixingCopyData 往 SDK 中拷贝混音 PCM 数据,用于将开发者提供的音频数据混到推流的音频数据中。 和 [enableAudioMixing] 结合使用

媒体播放器功能

方法名 描述
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 切换前后摄像头,支持设置其他通道的推流
setCameraZoomFactor 设置摄像头变焦倍数
setCameraZoomFactor 设置摄像头变焦倍数
getCameraMaxZoomFactor 获取摄像头最大变焦倍数
getCameraMaxZoomFactor 获取摄像头最大变焦倍数
startSoundLevelMonitor 启动声浪监控
startSoundLevelMonitor 启动声浪监控,支持设置监听间隔
stopSoundLevelMonitor 停止声浪监控
startAudioSpectrumMonitor 启动音频频谱监控
startAudioSpectrumMonitor 启动音频频谱监控,支持设置监听间隔
stopAudioSpectrumMonitor 停止音频频谱监控
enableHeadphoneMonitor 开启/关闭 耳返
setHeadphoneMonitorVolume 设置耳返音量
onCapturedSoundLevelUpdate 本地采集音频声浪回调
onRemoteSoundLevelUpdate 远端拉流音频声浪回调
onCapturedAudioSpectrumUpdate 本地采集音频频谱回调
onRemoteAudioSpectrumUpdate 远端拉流音频频谱回调
onDeviceError 设备异常通知
onRemoteCameraStateUpdate 远端摄像头设备状态通知
onRemoteMicStateUpdate 远端麦克风设备状态通知
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 开启远端拉流自定义音频处理
setCustomAudioProcessHandler 设置自定义音频处理回调
enableAudioDataCallback 开启额外接收音频数据的回调
startAudioDataObserver 开启音频数据回调监测
stopAudioDataObserver 停止音频数据回调监测
setAudioDataHandler 设置额外接收音频数据的回调
enableCustomAudioIO 开启自定义音频 IO 功能
enableCustomAudioIO 开启自定义音频 IO 功能,支持其他路推流
sendCustomAudioCaptureAACData 发送自定义音频采集 AAC 数据
sendCustomAudioCaptureAACData 发送自定义音频采集 AAC 数据,支持设置其他通道的推流
sendCustomAudioCapturePCMData 发送自定义音频采集 PCM 数据
sendCustomAudioCapturePCMData 发送自定义音频采集 PCM 数据,支持其他路推流
fetchCustomAudioRenderPCMData 撷取远端拉流自定义音频渲染 PCM 数据
onProcessCapturedAudioData 自定义音频处理本地采集 PCM 音频帧回调
onProcessRemoteAudioData 自定义音频处理远端拉流 PCM 音频帧回调
onCapturedAudioData 获取本地麦克风采集到的音频数据的回调
onPlaybackAudioData 获取 SDK 播放的音频数据的回调
onMixedAudioData 获取所有拉到的流的音频数据和本地麦克风采集到的音频数据的回调,该音频数据是经过 SDK 混合之后的数据
onPlayerAudioData 获取 SDK 每条拉流的音频数据的回调

媒体推流器

暂不支持

实用工具

方法名 描述
startPerformanceMonitor 启动系统性能状态监控,支持设置监听间隔
stopPerformanceMonitor 停止系统性能状态监控
startNetworkProbe 启动网络探测
stopNetworkProbe 停止网络探测
startNetworkSpeedTest 开始网络测速
stopNetworkSpeedTest 停止网络测速
onPerformanceStatusUpdate 系统性能监控状态回调(注意:由于 Android 系统限制,无法获取 CPU 使用量)
onNetworkModeChanged 网络模式变更回调
onNetworkSpeedTestError 网络测速异常回调通知
onNetworkSpeedTestQualityUpdate 网络测速质量回调通知。

废弃接口列表

方法名 描述
setReverbParam 设置混响的具体参数
setBuiltInSpeakerOn 是否使用内置扬声器播放声音。此函数在 2.3.0 版本以后已废弃,请使用 [setAudioRouteToSpeaker] 代替。