互动视频
  • iOS : Objective-C
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
  • Electron
  • 概述
  • 限制说明
  • SDK 下载
  • 快速开始
  • 常用功能
  • 推拉流进阶
  • 视频进阶
  • 音频进阶
  • 其他功能
  • 废弃接口
  • API 文档
  • 常见错误码
  • 常见问题
  • AI教育
  • KTV 合唱
  • 视频直播
  • 视频通话
  • 游戏直播
  • 直播答题
  • 娃娃机
  • 文档中心
  • 互动视频
  • API 文档

ZEGO iOS/macOS API Reference

更新时间:2023-10-30 14:43

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

基本功能方法

此分类下主要包括初始化 SDK 和基本音视频通信的方法,适用于语音通话、视频通话、语音/视频直播等应用场景。

基础功能

方法 描述
初始化
initWithAppID:appSignature:completionBlock: 初始化 SDK
setUserID:userName: 设置用户 ID 及用户名
setConfig: 设置配置信息,如果没有特殊说明,必须确保在 InitSDK 前调用
环境配置
version ZegoLiveRoom SDK 版本号
version2 ZegoLiveRoom SDK 引擎版本号
setVerbose: 是否打开调试信息
setUseTestEnv: 是否启用测试环境
SDK 日志
setLogSize: 设置SDK日志大小
uploadLog 上报日志
登录登出
setRoomDelegate: 设置 room 代理对象
setRoomConfig:userStateUpdate: 设置房间配置信息
setCustomToken: 设置自定义token信息
SetToken 设置鉴权 token 信息
loginRoom:roomName:role:withCompletionBlock: 登录房间
switchRoom:roomName:role:withCompletionBlock: 切换房间
logoutRoom 退出房间

推拉流功能

方法 描述
推流
setLiveEventDelegate: 设置直播事件代理对象
setPublisherDelegate: 设置 Publisher 代理对象
startPublishing:title:flag:extraInfo: 开始发布直播
stopPublishing 停止直播
startPublishing2:title:flag:extraInfo:channelIndex: 开始发布直播,可推两路流
stopPublishing: 停止直播,与可推两路流的开始直播接口成对使用
拉流
setPlayerDelegate: 设置 Player 代理对象
startPlayingStream:inView: 播放直播流
startPlayingStream:inView:params: 指定播放参数,播放直播流
startPlayingStream:inView:extraInfo: 指定播放参数,播放直播流
updatePlayView:ofStream: 更新播放视图
stopPlayingStream: 停止播放流
takeSnapshotOfStream:withCompletionBlock: 对观看直播视图进行截图
enableViewMirror:ofStream: 开启播放镜像
推流基础配置
requireHardwareEncoder 硬件编码开关
requireHardwareEncoder: 为某个推流道通单独开启/关闭硬件编码
setAVConfig: 设置视频配置
setAudioBitrate: 设置音频码率
推流高级配置 以下 API 位于 ZegoLiveRoomApi-Publisher.h 中
updateStreamExtraInfo: 更新流附加信息
setPublishConfig: 自定义推流配置
setPublishEncryptKey:channelIndex: 设置推流加密密钥
addPublishTarget:streamID:completion: 添加转推地址
deletePublishTarget:streamID:completion: 删除转推地址
setVideoCodecId:ofChannel: 设置选用分层编码
setVideoEncoderRateControlConfig:encoderCRF: 设置编码器码率控制策略
enableTrafficControl:properties: 是否开启流量控制
setLatencyMode: 设置延迟模式
setLatencyMode:channelIndex: 按通道设置推流延迟模式
setAudioChannelCount: 设置推流音频声道数
setAudioChannelCount:channelIndex: 按通道设置推流音频声道数
setPublishQualityMonitorCycle: 设置推流质量监控周期
setMinVideoBitrateForTrafficControl: 设置TrafficControl视频码率最小值
setStreamAlignmentProperty 设置指定通道推流是否校准网络时间,用于混流时各路流的对齐
enableDTX: 是否开启离散音频包发送
enableVAD: 是否开启语音活动检测
setVideoKeyFrameInterval:channelIndex: 设置视频关键帧间隔
pauseModule: 暂停模块
resumeModule: 恢复模块
setPreviewViewBackgroundColor: 设置预览控件背景色
setChannelExtraParam:channelIndex: 设置推流通道扩展参数
muteAudioPublish: 推流时是否发送音频数据
muteVideoPublish: 推流时是否发送视频数据
enableScreenCaptureEncodeOptimization 开启屏幕分享编码优化
isVideoEncoderSupported 获取是否支持指定编码能力
setPreviewCropRect:originalSize: 设置预览的裁剪视图配置
setVideoEncodeMode: 设置视频编码模式
enablePublishStreamAlignment 设置推流是否校准网络时间
streamAlignment 是否开启网络时间对齐功能
setDummyCaptureImagePath 设置关闭摄像头时所推静态图片的路径
拉流基础配置 开启屏幕分享编码优化
requireHardwareDecoder: 开关硬件解码
requireHardwareDecoder 为指定拉流通道开启/关闭硬件解码
enableSpeaker: (声音输出)静音开关
setBuiltInSpeakerOn: 手机内置扬声器开关
setPlayVolume: 统一设置所有拉流的播放音量
setPlayVolume:ofStream: 设置指定拉流的播放音量
setViewMode:ofStream: 设置观看直播的View的模式
setViewRotation:ofStream: 设置播放渲染朝向
setViewBackgroundColor:ofStream: 设置播放控件背景色
拉流高级配置
setPlayStreamFocus: 设置拉流优先级的权重,被置为 focus 的流,优先保证其质量
updatePlayDecryptKey:key: 设置拉流解密密钥(只用于拉流之后更新密钥)
getMaxPlayChannelCount 获取 SDK 支持的最大同时播放流数
enableCheckPoc: 帧顺序检测开关
getSoundLevelOfStream: 获取当前播放视频的音量
setPlayQualityMonitorCycle: 设置拉流质量监控周期
activateAudioPlayStream:active: 拉流是否接收音频数据
activateVideoPlayStream:active: 拉流是否接收视频数据
activateVideoPlayStream:active:videoLayer: 拉流是否接收视频数据
activateAllAudioPlayStream 拉流是否接收音频数据
activateAllVideoPlayStream 拉流是否接收视频数据
setAudioMixMode:ofStreams: 设置多路混音时突出的拉流 ID
enablePlayVirtualStereo:angle:ofStream: 设置拉的流的虚拟立体声源相对于本端的角度
setViewCropRect:originalSize:streamID: 设置拉流的裁剪视图配置
getUserByStreamID 获取发布指定流 ID 的发布者信息
isVideoDecoderSupported 获取是否支持指定解码能力
视频采集设置
enableCamera: 开启视频采集
setFrontCam: 切换前后摄像头
SetCapturePipelineScaleMode: 设置视频采集缩放时机
enableTorch: 开关手电筒
setAppOrientation: 设置手机方向
setCamFocusMode:channelIndex: 设置对焦模式
setCamExposureMode:channelIndex: 设置曝光模式
以下 API 位于 ZegoLiveRoomApi-Publisher2.h 中
enableCamera:channelIndex: 开启视频采集,适用于一端同时推两路流
setFrontCam:channelIndex: 切换前后摄像头,适用于一端同时推两路流
enableTorch:channelIndex: 开关手电筒,适用于一端同时推两路流,适用于一端同时推两路流
setAppOrientation:channelIndex: 设置手机方向,适用于一端同时推两路流时分别设置两路流的手机方向,适用于一端同时推两路流
视频预览设置
setPreviewView: 设置本地预览视图
startPreview 启动本地预览
stopPreview 结束本地预览
setPreviewViewMode: 设置本地预览视频视图的模式
setPreviewRotation: 设置预览渲染朝向
setVideoMirrorMode: 是否启用预览和推流镜像
takePreviewSnapshot: 预览截图
setPreviewView:channelIndex: 设置本地预览视图,适用于一端同时推两路流
startPreview: 启动本地预览,适用于一端同时推两路流
stopPreview: 结束本地预览,适用于一端同时推两路流
setPreviewViewMode:channelIndex: 设置本地预览视频视图的模式,适用于一端同时推两路流
setPreviewRotation:channelIndex: 设置预览渲染朝向,适用于一端同时推两路流
setVideoMirrorMode:channelIndex: 是否启用预览和推流镜像,适用于一端同时推两路流
音频采集设置
setAudioDeviceMode: 设置音频设备模式
enableMic: 开启麦克风
enableMicDevice: 设置是否允许SDK使用麦克风设备
setAECMode 设置回声消除模式
enableAEC: 回声消除开关
enableAGC: 音频采集自动增益控制开关
enableNoiseSuppress: 音频采集噪声抑制开关
setNoiseSuppressMode: 设置音频采集降噪等级
enableTransientNoiseSuppress:(bool)enable 智能消噪功能,可消除键盘、敲桌子等瞬态噪音
enableAECWhenHeadsetDetected: 耳机插入状态下是否使用回声消除
enableAudioCaptureStereo: 设置音频设备采集时是否开启双声道模式
enableLoopback: 开启采集监听
setLoopbackVolume: 设置采集监听音量
setCaptureVolume: 设置采集音量
网络测速管理类
setQualityCallbackInterval: 设置刷新网络质量的时间间隔
startUplinkSpeedTest: 开始上行网络测速,InitSDK 后调用
stopUplinkSpeedTest 停止上行网络测速
startDownlinkSpeedTest: 开始下行网络测速,InitSDK 后调用
stopDownlinkSpeedTest 停止下行网络测速
startConnectivityTest 启动连通性测试,InitSDK 后调用
stopConnectivityTest 停止网络连通性测试
网络探测管理类
startNetworkTrace 开始网络trace测试
stopNetworkTrace 停止trace测试

实时消息

方法 描述
setIMDelegate: 设置实时消息代理对象
setRoomDelegate: 设置 room 代理对象
sendBigRoomMessage:type:category:completion: 房间发送不可靠信道的消息
支持大房间,每个房间QPS限制为20,消息大小限制为1k字节
自定义消息
sendCustomCommand:content:completion: 发送自定义信令
发给一人时,支持大房间,每个房间QPS限制为200,消息大小限制为1k字节
发给多人时,不支持大房间,每个房间QPS限制为10,消息大小限制为1k字节
注意:如果不指定接收人,将不会给房间内的人发送消息,即消息发送失败。
sendRoomMessage:type:category:completion: 房间发送广播消息

进阶功能方法

此分类下的方法主要包括了 Zego SDK 的特性,在基础的音视频通话基础上增加更丰富的功能,满足开发者的其它诉求,适用于语音通话、视频通话、互动直播、音视频录制等应用场景。

连麦

本组方法适用于互动直播场景。

方法 描述
requestJoinLive: 请求连麦
respondJoinLiveReq:result: 响应连麦请求
inviteJoinLive:responseBlock: 邀请连麦
respondInviteJoinLiveReq:result: 回应主播端的邀请连麦请求
endJoinLive:completionBlock: 结束连麦

视频外部采集

本组方法为开发者提供自定义视频采集源的功能,适用于直播场景。

方法 描述
setVideoCaptureFactory:channelIndex: 设置外部采集模块
setTrafficControlCallback:channelIndex: 设置外部流控回调
视频外部采集工厂
zego_create: 创建采集设备
zego_destroy: 销毁采集设备
视频外部采集设备
zego_allocateAndStart: 初始化采集使用的资源(例如启动线程等)回调
zego_stopAndDeAllocate 停止并且释放采集占用的资源
zego_supportBufferType 支持的 buffer 类型
zego_startCapture 启动采集,采集的数据通过 [client -onIncomingCapturedData:withPresentationTimeStamp:] 通知 SDK
zego_stopCapture 停止采集
zego_setFrameRate: 设置视频采样帧率回调
zego_setFrontCam: 切换前后摄像头回调
zego_setView: 设置采集使用载体视图回调,移动端使用
zego_setViewMode: 设置采集预览的模式回调
zego_setViewRotation: 设置采集预览的逆时针旋转角度回调
zego_setCaptureRotation: 设置采集 buffer 的顺时针旋转角度回调
zego_startPreview 启动预览回调
zego_stopPreview 停止预览回调
zego_takeSnapshot 对采集预览进行截图回调
zego_enableTorch: 开启手电筒回调
视频外部采集设备 Client 以下 API 位于 zego-api-external-video-capture-oc.h 中的 ZegoVideoCaptureClientDelegate protocol 中
destroy 销毁
onError: 错误信息
setStatusReason:withReason: 发生错误调用该接口
setFillMode: 设置图像填充模式
以下 API 位于 zego-api-external-video-capture-oc.h 中的 ZegoVideoCaptureDelegate protocol 中
onIncomingCapturedData:withPresentationTimeStamp: 接收视频帧数据
onIncomingCapturedData:width:height:withPresentationTimeStamp: 接收视频帧数据
onEncodedFrame:config:bKeyframe: 接收编码后的视频帧数据

视频外部滤镜

本组方法为开发者提供可以自定义视频滤镜或者第三方视频滤镜的功能,适用于直播场景。

方法 描述
setVideoFilterFactory:channelIndex: 设置外部滤镜模块
视频外部滤镜工厂
zego_create 创建外部滤镜
zego_destroy: 销毁采集设备
滤镜设置 以下 API 位于 zego-api-external-video-filter-oc.h 中的 ZegoVideoFilter protocol 中
zego_allocateAndStart: 初始化采集使用的资源(例如启动线程等)回调
zego_stopAndDeAllocate 停止并且释放采集占用的资源
supportBufferType 支持的 buffer 类型
滤镜 Client
destroy 销毁,位于 zego-api-external-video-filter-oc.h 中的 ZegoVideoFilterClient protocol 中
onProcess:withTimeStatmp: 同步处理视频帧数据,位于 zego-api-external-video-filter-oc.h 中的 ZegoVideoFilterDelegate protocol 中
dequeueInputBuffer:height:stride: SDK 获取 CVPixelBufferRef 对象,位于 zego-api-external-video-filter-oc.h 中的 ZegoVideoBufferPool protocol 中
queueInputBuffer:timestamp: 异步处理视频帧数据,位于 zego-api-external-video-filter-oc.h 中的 ZegoVideoBufferPool protocol 中

视频外部渲染

本组方法为开发者提供可以自处理视频渲染的功能,适用于直播场景。

方法 描述
setZegoVideoRenderDelegate: 设置外部渲染回调对象
setZegoVideoRenderCVPixelBufferDelegate: 设置用于接收 CVPixelBuffer 类型数据的外部渲染回调对象
setVideoRenderType: 设置开启外部渲染时要求 SDK 提供的数据格式及渲染方式
enableVideoRender:streamID: 开/关外部视频渲染(拉流),拉流时 App 能拿到 SDK 抛出的视频数据
enableVideoPreview:channelIndex: 开/关外部视频渲染(推流预览),推流时 App 能拿到 SDK 抛出的视频数据

媒体播放器

方法 描述
setVideoPlayWithIndexDelegate:format: 设置视频帧数据回调
setEventWithIndexDelegate: 设置播放器事件回调
setAudioPlayDelegate: 获取音频数据代理设置
initWithPlayerType:playerIndex: 初始化
setVolume: 设置音量
setPlayVolume: 设置本地播放音量
setPublishVolume: 设置推流音量
start:repeat: 开始播放
stop 停止播放
pause 暂停播放
resume 恢复播放
enableAccurateSeek: 设置是否开启精准搜索
setAccurateSeekTimeout: 设置精确搜索的超时时间
setActiveAudioChannel: 设置播放声道
setAudioChannel:keyShift: 设置声道音调
seekTo: 设置指定的进度进行播放
getDuration 获取整个文件的播放时长
getCurrentDuration 获取当前播放的进度
setView: 设置显示视频的view
muteLocal: 设置本地静默播放
load: 预加载资源
setPlaySpeed 设置本地播放倍速
setAudioStream: 设置播放文件的音轨
setPlayerType: 设置播放器类型
getAudioStreamCount 获取音轨个数
enableRepeatMode: 设置是否重复播放
takeSnapshot 获取当前播放视频的截图
clearView 播放器清屏
setBackgroundColor: 设置播放器的背景颜色
requireHWDecoder 设置使用硬件解码
setViewMode: 设置需要的播放器显示模式
uninit 释放播放器
setOnlineResourceCacheDuration:andSize: 设置网络素材最大的缓存时长和缓存数据大小, 以先达到者为准
setBufferThreshold: 设置缓冲回调的阈值, 缓冲区可播放时长大于阈值时,开始播放, 并回调 OnBufferEnd
getOnlineResourceCacheStat:andSize: 获取网络素材缓存队列的缓存数据可播放的时长和缓存数据大小
setLoadResourceTimeout: 设置加载资源的超时时间
setLoopCount 设置循环播放次数
setMediaPlayerFileReaderDelegate 设置播放文件操作相关的回调

音效播放器

方法 描述
setDelegate: 设置回调
playEffect:source:loop:publish: 播放音效
stopEffect: 停止播放音效
pauseEffect: 暂停播放音效
resumeEffect: 恢复播放音效
setEffect:volume: 设置单个音效的音量
setVolumeAll: 设置所有音效的音量
pauseAll 暂停全部音效
resumeAll 恢复全部音效
stopAll 停止全部音效
preloadEffect:source: 预加载音效
unloadEffect: 删除预加载音效
seekTo:timestamp: 设置进度
getDuration: 获取音效的总时长
getCurrentDuration: 获取音效的当前进度

媒体次要信息

本组方法为开发者提供在直播时同步其它信息的功能,适用于直播场景。

方法 描述
setMediaSideDelegate: 设置回调,接收媒体次要信息
setMediaSideFlags:onlyAudioPublish:mediaInfoType:seiSendType:channelIndex: 发送媒体次要信息开关,支持 SEI
sendMediaSideInfo:packet:channelIndex: 发送媒体次要信息

音频外部采集与渲染

本组方法为开发者提供推流时采用自定义的音频数据及拉流时自渲染音频数据的功能,适用于直播场景。

方法 描述
enableExternalAudioDevice: 启用外部音频采集
setAudioSrcForAuxiliaryPublishChannel: 选择辅助推流通道的音频采集源
setAudioSource:channel: 设置推流通道的音源
startCapture: 开始外部音频采集(通知 SDK)
stopCapture: 结束外部音频采集(通知 SDK)
startRender 开始外部音频播放(通知 SDK)
stopRender 结束外部音频播放(通知 SDK)
onRecordAudioFrame:channel: 把采集到的音频数据塞进 SDK
onPlaybackAudioFrame: 从 SDK 取音频渲染数据

音频前处理设置

本组方法为开发者提供自处理 SDK 采集的音频数据的功能,适用于直播场景。

方法 描述
setAudioPrepCallback:config: 设置音频前处理函数, 并开启或关闭音频前处理

音频后处理设置

本组方法为开发者提供自处理拉流的音频数据的功能,适用于直播场景。

方法 描述
setAudioPostpCallback:config: 设置音频后处理函数
enableAudioPostp:streamID: 开启或关闭音频后处理

音频加解密设置

适用于直播场景。

方法 描述
enableAudioEncryptDecrypt: 音频加密、解密开关
setAudioEncryptDecryptDelegage: 设置回调,接收音频数据进行加密或者解密后,再回传给sdk

音频录制设置

适用于直播场景。

方法 描述
setAudioRecordDelegate: 设置音频录制回调代理对象
enableSelectedAudioRecord: 音频录制开关

本地媒体录制

仅适用于推流或预览时的录制,不支持拉流时的音视频录制。

自动混流音频

适用于直播场景。

方法 描述
setDelegate: 设置自动混流的事件回调
setSoundLevelDelegate: 设置自动混流中的发言者及其说话音量的回调通知
startAutoMixStream:room:config: 开始自动混流
stopAutoMixStream:room: 停止自动混流

混流设置

适用于直播场景。

方法 描述
setMixStreamExDelegate: 设置混流配置的回调,对应于 [-mixStreamEx:mixStreamID:]
setSoundLevelInMixedStreamDelegate: 设置拉取混流时带上音量信息的回调
mixStreamEx:mixStreamID: 混流接口,支持多路混流

混音设置

本组方法为开发者提供自处理 SDK 采集的音频数据的功能,适用于直播场景。

方法 描述
setDelegate: 设置混音代理
enableAux: 混音开关
setAuxVolume: 设置混音音量
setAuxPublishVolume: 设置混音推流音量
setAuxPlayVolume: 设置混音本地播放音量
muteAux: 设置混音禁音
MixEnginePlayout: 把引擎播放的声音混到推流中
enableMixSystemPlayout: 系统声卡声音采集开关,此接口仅支持 macOS
setAudioCaptureShiftOnMix 设置麦克风采集声音在混音过程中的偏移
enableH265EncodeFallback 开启H.265编码自动降级到H.264编码

变声设置

适用于直播场景。

方法 描述
setVoicePreset: 预设变声配置
setReverbPreset: 设置预设的音频混响效果
setAdvancedReverbParam:config: 设置音频混响参数以获得不同的混响效果
enableVirtualStereo:angle: 设置虚拟立体声
enableReverb:mode: 设置音频混响
setReverbParam:dryWetRatio: 设置音频混响参数
setReverbParam: 设置音频混响参数
setVoiceChangerParam: 设置变声器参数
setElectronicEffects 设置电音配置
SetVoicePreset 预设变声配置

美颜配置

本组方法为开发者提供调整美颜效果的功能,适用于直播场景。

方法 描述
enableBeautifying:channelIndex: 主播方开启美颜功能
setPolishStep:channelIndex: 设置美颜磨皮的采样步长
setPolishFactor:channelIndex: 设置美颜采样颜色阈值
setWhitenFactor:channelIndex: 设置美颜美白的亮度修正参数
setSharpenFactor:channelIndex: 设置锐化参数
setFilter:channelIndex: 设置滤镜,适用于一端同时推两路视频流
setFilter: 设置滤镜

频域功率谱设置

本组方法为开发者提供获取直播音频在各频点的能量的功能,适用于直播场景。

方法 描述
setFrequencySpectrumDelegate: 设置频域功率谱回调
sharedInstance 获取频域功率谱单例对象
setFrequencySpectrumMonitorCycle: 设置频域功率谱的监控周期,该设置会影响回调频率
startFrequencySpectrumMonitor 启动频域功率谱监听
stopFrequencySpectrumMonitor 停止频域功率谱监听

音浪设置

本组方法为开发者提供获取直播音量的功能,适用于直播场景。

方法 描述
setSoundLevelDelegate: 设置代理对象
setSoundLevelMonitorCycle: 设置 soundLevel 的监控周期
startSoundLevelMonitor 启动 soundLevel 监听
stopSoundLevelMonitor 停止 soundLevel 监听
enableVADMonitor: 设置音浪回调是否检测VAD

水印设置

本组方法为开发者提供加入特定水印到直播画面中的功能,适用于直播场景。

方法 描述
以下 API 位于 ZegoLiveRoomApi-Publisher.h 中
setWaterMarkImagePath: 设置水印的图片路径
setPublishWaterMarkRect: 设置水印在采集视频中的位置
setPreviewWaterMarkRect: 设置水印在预览视频中的位置
setWaterMarkImagePath:channelIndex: 设置水印的图片路径
setPublishWaterMarkRect:channelIndex: 设置水印在采集视频中的位置
setPreviewWaterMarkRect:channelIndex: 设置水印在预览视频中的位置

摄像头曝光设置

此方法仅支持 iOS。

方法 描述
setCamExposureCompensation:channelIndex: 设置曝光补偿度
setCamFocusPointInPreview:channelIndex: 设置预览视图中的对焦点
setCamExposurePointInPreview:channelIndex: 设置预览视图中的曝光参考点
setCamZoomFactor:channelIndex: 设置摄像头变焦倍数
getCamMaxZoomFactor: 获取摄像头最大变焦倍数

设备状态管理

此组方法仅支持 macOS,除了 getAVCaptureDevice 支持 iOS 和 macOS。

方法 描述
setDeviceEventDelegate: 设置音视频设备错误回调代理对象
视频设备状态管理
getVideoDeviceList 获取视频设备列表
setVideoDevice: 设置视频设备
getDefaultVideoDeviceId 获取默认的视频设备
音频设备状态管理
getAVCaptureDevice: 获取当前推流使用的采集设备
getAudioDeviceList: 获取音频设备列表
setAudioDevice:type: 设置音频设备
getMicDeviceVolume: 获取麦克风音量
setMicDevice:volume: 设置麦克风音量
getMicDeviceMute: 获取麦克风是否静音
setMicDevice:mute: 设置麦克风静音
getSpeakerDeviceVolume: 获取扬声器音量
setSpeakerDevice:volume: 设置扬声器音量
getSpeakerSimpleVolume: 获取app中扬声器音量
setSpeaker:simpleVolume: 设置app中扬声器音量
getSpeakerDeviceMute: 获取扬声器是否静音
setSpeakerDevice:mute: 设置扬声器静音
getSpeakerSimpleMute: 获取app中扬声器是否静音
setSpeaker:simpleMute: 设置app中扬声器是否静音
setAudioVolumeNotify:type: 监听设备的音量变化
stopAudioVolumeNotify:type: 停止监听设备的音量变化
getDefaultAudioDeviceId: 获取默认的音频设备

音频观察器设置

方法 描述
startAudioObserver:sampleRate:numOfChannels: 启动音频观察器
stopAudioObserver 停止音频观察器
setAudioObserverDelegate: 设置音频观察器代理对象

基本功能回调

音视频引擎事件回调

方法 描述
setAVEngineDelegate: 设置 AVEngine 代理对象
onAVEngineStop 音视频引擎停止时回调
onAVEngineStart 音视频引擎开始时回调,位于 ZegoLiveRoomApi.h 中的 ZegoAVEngineDelegate protocols 中

基础功能事件回调

方法 描述
登录登出相关事件回调 以下 API 位于 ZegoLiveRoomApi.h 中的 ZegoRoomDelegate protocols 中
onKickOut:roomID:customReason: 用户被踢出房间
onDisconnect:roomID: 与 server 断开通知
onReconnect:roomID: 与 server 重连成功通知
onTempBroken:roomID: 与 server 连接中断通知,SDK会尝试自动重连
流更新事件回调 以下 API 位于 ZegoLiveRoomApi.h 中的 ZegoRoomDelegate protocols 中
onStreamUpdated:streams:roomID: 流信息更新
onStreamExtraInfoUpdated:roomID: 流附加信息更新

推拉流功能事件回调

方法 描述
推流事件回调 以下 API 位于 ZegoLiveRoomApi-Publisher.h 中的 ZegoLivePublisherDelegate protocol 中
zego_onLiveEvent:info: 直播事件回调,位于 ZegoLiveRoomApi.h 中的 ZegoLiveEventDelegate protocol 中
onPublishStateUpdate:streamID:streamInfo: 推流状态更新
onPublishQualityUpdate:stream:videoFPS:videoBitrate: 发布质量更新
onPublishQualityUpdate:quality: 发布质量更新
onRelayCDNStateUpdate:streamID: 转推CDN状态信息更新
onCaptureVideoFirstFrame 采集视频的首帧通知
onCaptureVideoFirstFrame: 采集视频的首帧通知
onCaptureAudioFirstFrame 采集音频的首帧通知
onPreviewVideoFirstFrame 预览视频的首帧通知
onSendLocalAudioFirstFrame 推流音频首帧通知
onSendLocalVideoFirstFrame 推流视频首帧通知
onVideoEncoderChanged 视频编码器变更通知
拉流事件回调 以下 API 位于 ZegoLiveRoomApi-Player.h 中的 ZegoLivePlayerDelegate protocol 中
onPlayStateUpdate:streamID: 播放流事件
onPlayQualityUpdate:stream:videoFPS:videoBitrate: 观看质量更新
onPlayQualityUpate:quality: 观看质量更新
onPlayStatsUpdate: 统计数据更新回调
onVideoSizeChangedTo:ofStream: 视频宽高变化通知
视频采集事件回调 以下 API 位于 ZegoLiveRoomApi-Publisher.h 中的 ZegoLivePublisherDelegate protocol 中
onCaptureVideoSizeChangedTo: 采集视频的宽度和高度变化通知
onCaptureVideoSizeChangedTo:channelIndex: 采集视频的宽度和高度变化通知
以下 API 位于 ZegoLiveRoomApi-Player.h 中的 ZegoLivePlayerDelegate protocol 中
onRenderRemoteVideoFirstFrame: 所拉视频流的首帧渲染完成通知
onRemoteCameraStatusUpdate:ofStream:reason: 所拉流的摄像头状态通知
onRemoteMicStatusUpdate:ofStream:reason: 所拉流的麦克风状态通知
onRemoteSpeakerStatusUpdate 远端麦克风状态通知
onRecvRemoteAudioFirstFrame: 接收到所拉流的首帧音频的通知
onRecvRemoteVideoFirstFrame: 接收到所拉流的首帧视频的通知

实时消息事件回调

方法 描述
实时消息事件回调 以下 API 位于 ZegoLiveRoomApi-IM.h 中的 ZegoIMDelegate protocol 中
onRecvRoomMessage:messageList: 收到房间的广播消息
onRecvBigRoomMessage:messageList: 收到房间的不可靠消息广播
自定义消息事件回调 以下 API 位于 ZegoLiveRoomApi.h 中的 ZegoRoomDelegate protocol 中
onReceiveCustomCommand:userName:content:roomID: 收到自定义消息
onRoomInfoUpdated:roomID: 收到房间信息更新
用户状态更新事件回调 以下 API 位于 ZegoLiveRoomApi-IM.h 中的 ZegoIMDelegate protocol 中
onUserUpdate:updateType: 房间成员更新回调
onUpdateOnlineCount:room: 收到在线人数更新

进阶功能回调

连麦事件回调

方法 描述
onJoinLiveRequest:fromUserID:fromUserName:roomID: 收到连麦请求,位于 ZegoLiveRoomApi-Publisher.h 中的 ZegoLivePublisherDelegate protocol 中
onInviteJoinLiveRequest:fromUserID:fromUserName:roomID: 收到主播端的邀请连麦请求,位于 ZegoLiveRoomApi-Player.h 中的 ZegoLivePlayerDelegate protocol 中
onEndJoinLiveCommad:userName:roomID: 收到结束连麦信令,位于 ZegoLiveRoomApi-Player.h 中的 ZegoLivePlayerDelegate protocol 中

视频外部渲染事件回调

以下 API 位于 zego-api-external-video-render-oc.h 中的 ZegoVideoRenderDelegate protocol 中。

方法 描述
onVideoRenderCallback:dataLen:width:height:strides:pixelFormat:streamID: SDK 待渲染视频数据
onSetFlipMode:streamID: SDK 通知下一帧数据是否需要翻转
onSetRotation:streamID: SDK 通知下一帧数据需要旋转的角度

媒体播放器事件回调

以下 API 位于 zego-api-mediaplayer-oc.h 中的 ZegoMediaPlayerEventDelegate procotol 中。

方法 描述
onPlayStart: 开始播放
onPlayError:playerIndex: 播放错误
onVideoBegin: 开始播放视频
onAudioBegin: 开始播放音频
onPlayEnd: 播放结束
onSeekComplete:when:playerIndex: 快进到指定时刻
onPlayPause: 暂停播放
onPlayResume: 恢复播放
onPlayStop: 用户停止播放的回调
onBufferBegin: 网络音乐资源播放不畅,开始尝试缓存数据
onBufferEnd: 网络音乐资源可以顺畅播放
onReadEOF: 网络文件读完结尾的回调.
onSnapshot:playerIndex: 截图
onLoadComplete: 预加载完成
onPlayVideoData:size:format: 视频帧数据回调,位于 zego-api-mediaplayer-oc.h 中的 ZegoMediaPlayerVideoPlayWithIndexDelegate protocol 中

音效播放器事件回调

以下 API 位于 zego-api-audio-player-oc.h 中的 ZegoAudioPlayerDelegate procotol 中。

方法 描述
onPlayEnd: 播放音效完成通知
onPreloadComplete: 播放音效完成通知

媒体次要信息事件回调

以下 API 位于 zego-api-defines-oc.h 中的 ZegoMediaSideDelegate protocol 中。

方法 描述
onRecvMediaSideInfo:ofStream: 媒体次要信息回调

音频加解密事件回调

以下 API 位于 zego-api-audio-encrypt-decrypt-oc.h 中的 ZegoAudioEncryptDecryptDelegate 中。

音频录制事件回调

以下 API 位于 ZegoLiveRoomApi-Player.h 中的 ZegoLiveApiAudioRecordDelegate protocol 中。

本地媒体录制事件回调

以下 API 位于 zego-api-media-recorder-oc.h 中的 ZegoMediaRecordDelegage procotol 中。

自动混流音频事件回调

以下 API 位于 com.zego.zegoavkit2.automixstream.IZegoAutoMixStreamCallback 中。

方法 描述
onStartAutoMixStream 启动自动混流结果通知
onStopAutoMixStream 停止自动混流结果通知
onSoundLevelInAutoMixedStream: 混流中的发言者及其说话音量信息的回调,是高频率同步回调,请勿在回调中处理耗时事务,位于 zego-api-auto-mix-stream-oc.h 的 ZegoSoundLevelInAutoMixedStreamDelegate Protocol 中

混流事件回调

方法 描述
onMixStreamExConfigUpdate:mixStream:streamInfo: 混流配置更新结果回调,位于 zego-api-mix-stream-oc.h 中的 ZegoMixStreamExDelegate protocol 中
onMixStreamRelayCDNStateUpdate:mixStreamID: 混流转推CDN的状态回调,位于 zego-api-mix-stream-oc.h 中的 ZegoMixStreamExDelegate protocol 中
onSoundLevelInMixedStream: 混流音量回调,位于 zego-api-mix-stream-oc.h 中的 ZegoLiveSoundLevelInMixedStreamDelegate protocol 中

混音事件回调

以下 API 位于 zego-api-audio-aux-oc.h 中的 ZegoAudioAuxDelgate procotol 中。

频域功率谱设置事件回调

以下 API 位于 zego-api-frequency-spectrum-oc.h 中的 ZegoFrequencySpectrumDelegate protocol 中。

方法 描述
onCaptureFrequencySpectrumUpdate: 获取采集的频域功率谱信息
onFrequencySpectrumUpdate: 获取拉流的频域功率谱信息

音浪设置事件回调

以下 API 位于 zego-api-sound-level-oc.h 中的 ZegoSoundLevelDelegate protocol 中。

方法 描述
onSoundLevelUpdate: soundLevel 更新回调
onCaptureSoundLevelUpdate: captureSoundLevel 更新回调

设备状态管理事件回调

以下 API 位于 ZegoLiveRoomApi.h 的 ZegoDeviceEventDelegate protocol 中。

方法 描述
zego_onDevice:error: 设备事件回调,也支持 iOS
视频设备状态管理事件回调
zego_onVideoDevice:deviceName:changeState: 视频设备改变状态的回调
音频设备状态管理事件回调
zego_onAudioDevice:deviceName:deviceType:changeState: 音频设备改变状态的回调
zego_onAudioDevice:deviceType:changeVolume:volumeType:mute: 音频设备音量变化的回调
onAudioRouteChange:(ZegoAPIAudioRoute) audioRoute (音频路由)事件变化通知,当有耳机插拔、扬声器和听筒切换等音频路由变化时业务层可感知到,方便通知用户设备相关的变化
onNetTypeChange:(ZegoAPINetType) netType 网络状态回调,以根据回调的当前网络状态,提示用户网络状态的变化
onNetworkQuality 房间内正在连麦的用户的网络质量回调
onTokenWillExpired 设置的token即将过期回调

音频观察器事件回调

方法 描述
onAudioObserverError: 错误回调
onCapturedAudioData:sampleRate:numOfChannels:bitDepth: 采集音频数据回调
onPlaybackAudioData:sampleRate:numOfChannels:bitDepth: 播放音频数据回调
onMixAudioData:sampleRate:numOfChannels:bitDepth: 采集与播放混音后的音频数据回调

音视频重播设置

方法 描述
setReplayLiveMicVolume 设置屏幕共享 Mic 音频音量
setReplayLiveAppVolume 设置屏幕共享 App 音频音量
handleVideoInputSampleBuffer 处理视频数据
handleVideoInputSampleBuffer 处理视频数据
handleAudioInputSampleBuffer 处理音频数据
本篇目录