logo
当前页

Class

IZegoAudioEffectPlayerHandler

Declared in IZegoAudioEffectPlayerHandler.cs

方法

OnAudioEffectPlayStateUpdate

OnAudioEffectPlayStateUpdate
public delegate void OnAudioEffectPlayStateUpdate(ZegoAudioEffectPlayer audioEffectPlayer,uint audioEffectID,ZegoAudioEffectPlayState state,int errorCode)
音效播放状态回调。
Declared in IZegoAudioEffectPlayerHandler.cs

参数

名称类型描述
audioEffectPlayerZegoAudioEffectPlayer触发此次回调的音效播放器实例。
audioEffectIDuint触发此次回调的音效资源的 ID。
stateZegoAudioEffectPlayState音效的播放状态。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

当音效播放器的某条音效的播放状态改变时会触发此回调。

  • 通知时机:当音效的播放状态变化时会触发这个回调。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

IZegoCopyrightedMusicHandler

Declared in IZegoCopyrightedMusicHandler.cs

方法

OnDownloadProgressUpdate

OnDownloadProgressUpdate
public delegate void OnDownloadProgressUpdate(ZegoCopyrightedMusic copyrightedMusic,string resourceID,float progressRate)
加载歌曲或伴奏进度回调。
Declared in IZegoCopyrightedMusicHandler.cs
名称类型描述
copyrightedMusicZegoCopyrightedMusic触发此次回调的版权音乐实例。
resourceIDstring触发此次回调的歌曲或伴奏对应的资源 ID。
progressRatefloat加载进度。

OnCurrentPitchValueUpdate

OnCurrentPitchValueUpdate
public delegate void OnCurrentPitchValueUpdate(ZegoCopyrightedMusic copyrightedMusic,string resourceID,int currentDuration,int pitchValue)
实时音高线回调。
Declared in IZegoCopyrightedMusicHandler.cs
名称类型描述
copyrightedMusicZegoCopyrightedMusic触发此次回调的版权音乐实例。
resourceIDstring触发此次回调的歌曲或伴奏对应的资源 ID。
currentDurationint当前播放进度。
pitchValueint实时音高准确程度或值。

IZegoCustomVideoProcessHandler

Declared in IZegoCustomVideoProcessHandler.cs

方法

OnCapturedUnprocessedRawData

OnCapturedUnprocessedRawData
public delegate void OnCapturedUnprocessedRawData(ref IntPtr data,ref uint dataLength,ZegoVideoFrameParam param,ulong referenceTimeMillisecond,ZegoPublishChannel channel)
当获取到原始视频数据时回调。
Declared in IZegoCustomVideoProcessHandler.cs

参数

名称类型描述
dataref IntPtr原始视频数据。RGB 格式数据存放位置为 data[0],YUV 格式数据存放位置分别为 Y 分量:data[0],U 分量:data[1],V 分量:data[2]。
dataLengthref uint原始视频数据长度。RGB 格式数据长度存放位置为 dataLength[0],YUV 格式数据存放位置分别为 Y 分量长度:dataLength[0],U 分量长度:dataLength[1],V 分量长度:dataLength[2]。
paramZegoVideoFrameParam视频帧参数。
referenceTimeMillisecondulong视频帧的索引时间,UNIX 时间戳,或系统启动时间戳,单位为毫秒。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,调用 [setCustomVideoProcessHandler] 设置回调后,SDK 收到原始视频数据并回调给开发者。当开发者处理完原始图像之后,必须调用 [sendCustomVideoProcessedRawData] 将处理后数据传回 SDK 中,否则会导致丢帧现象。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:开启自定义视频前处理,SDK 采集到原始视频数据时。
  • 平台差异:适用于 Window、Android 平台。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeRawData] 时,此接口生效。

OnCapturedUnprocessedCVPixelBuffer

OnCapturedUnprocessedCVPixelBuffer
public delegate void OnCapturedUnprocessedCVPixelBuffer(IntPtr buffer,ulong timestamp,ZegoPublishChannel channel)
当获取到 [CVPixelBuffer] 类型的原始视频数据时回调。
Declared in IZegoCustomVideoProcessHandler.cs

参数

名称类型描述
bufferIntPtrCVPixelBufferRef 类型数据。
timestampulong视频帧的索引时间,UNIX 时间戳。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,调用 [setCustomVideoProcessHandler] 设置回调后,SDK 收到原始视频数据并回调给开发者。当开发者处理完原始图像之后,必须调用 [sendCustomVideoProcessedCVPixelbuffer] 将处理后数据传回 SDK 中,否则会导致丢帧现象。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:开启自定义视频前处理,SDK 采集到原始视频数据时。
  • 平台差异:仅在 iOS/macOS 平台生效。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeCVPixelBuffer] 或 [ZegoVideoBufferTypeNV12CVPixelBuffer] 时,此接口生效。

OnCapturedUnprocessedTextureData

OnCapturedUnprocessedTextureData
public delegate void OnCapturedUnprocessedTextureData(int textureID,int width,int height,ulong referenceTimeMillisecond,ZegoPublishChannel channel)
当 SDK 获取到 [Texture] 类型的原始视频数据时回调。
Declared in IZegoCustomVideoProcessHandler.cs

参数

名称类型描述
textureIDint纹理 ID。
widthint纹理宽度
heightint纹理高度
referenceTimeMillisecondulong视频帧的索引时间,UNIX 时间戳,单位为毫秒
channelZegoPublishChannel推流通道

详情

开启自定义视频前处理时,调用 [setCustomVideoProcessHandler] 设置回调后,SDK 收到原始视频数据并回调给开发者。当开发者处理完原始图像之后,必须调用 [sendCustomVideoProcessedTextureData] 将处理后数据传回 SDK 中,否则会导致丢帧现象。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:开启自定义视频前处理,SDK 采集到原始视频数据时。
  • 平台差异:仅在 Android 平台生效。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeGLTexture2D] 时,此接口生效。

IZegoEventHandler

Declared in IZegoEventHandler.cs

方法

OnDebugError

OnDebugError
public delegate void OnDebugError(int errorCode,string funcName,string info)
调试错误信息回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
funcNamestring函数名。
infostring错误的详细信息。

详情

调用 SDK 函数出现异常时,会通过该回调提示详细的异常信息。

  • 业务场景:开发者在集成 SDK 的开发、测试阶段,可以通过本回调中的详细异常信息快速定位问题。
  • 通知时机:在 SDK 出现异常时通知开发者。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

OnApiCalledResult

OnApiCalledResult
public delegate void OnApiCalledResult(int errorCode,string funcName,string info)
方法执行结果回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
funcNamestring函数名。
infostring错误的详细信息。

详情

通过 [setApiCalledCallback] 开启监听时,会通过本回调回调所有方法的执行的结果。

  • 通知时机:在开发者调用 SDK 方法时,回调该方法的执行结果。
  • 支持版本:2.3.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:建议在开发、测试阶段监听并处理本回调,在上线后关闭对本回调的监听。

OnEngineStateUpdate

OnEngineStateUpdate
public delegate void OnEngineStateUpdate(ZegoEngineState state)
音视频引擎状态更新的回调通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
stateZegoEngineState音视频引擎状态。

详情

音视频引擎状态更新的回调通知,当启用音视频功能时,比如预览、推流、本地媒体播放器、原始音频数据获取等,音视频引擎会进入开始状态,当退出房间或停用所有音视频功能时,音视频引擎会进入停止状态。

  • 通知时机:开发者调用了相关函数改变了音视频引擎的状态。例如:1. 调用了ZegoExpressEngine的 [startPreview]、[stopPreview]、[startPublishingStream]、[startPlayingStream]、[startAudioDataObserver] 等函数。2. 调用了 MediaPlayer 的相关函数等。3. 调用了 [logoutRoom] 函数。4.调用了 RealTimeSequentialDataManager 的相关接口等。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 开发者调用 [destroyEngine] 时,由于 SDK 的资源被完全释放,并不会触发此通知。 2. 如无特殊需要,开发者可以不必关注本回调。

OnRecvExperimentalAPI

OnRecvExperimentalAPI
public delegate void OnRecvExperimentalAPI(string content)
实验性 API 回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
contentstring回调的内容,JSON 字符串格式。

详情

接收实验性 API 回调,请在 ZEGO 技术支持的帮助下使用此功能。

  • 支持版本:2.7.0 及以上。
  • 注意事项:不适用于 WebGL。

OnRoomStateUpdate

OnRoomStateUpdate
public delegate void OnRoomStateUpdate(string roomID,ZegoRoomState state,int errorCode,string extendedData)
房间状态变化通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring房间 ID,最大长度为 128 字节的字符串。
stateZegoRoomState变化后的房间状态。
errorCodeint错误码,详情请参考 常见错误码
extendedDatastring状态更新附带的扩展信息。当房间登录成功时,可通过"room_session_id" key 获取每一次音视频通信唯一的 RoomSessionID,标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。

详情

当房间的连接状态改变时触发该回调,并通知改变的原因。2.18.0 及以上版本推荐使用 onRoomStateChanged 回调来替代 onRoomStateUpdate 回调监听房间状态变化。

  • 业务场景:开发者可以通过这个回调来判断房间内当前用户的状态。
  • 通知时机: 1. 开发者调用 [loginRoom]、[logoutRoom]、[switchRoom] 函数时会收到此通知。
  1. 用户设备的网络情况变化时也可能收到此通知 (SDK 在断线时会自动重新登录房间,详情请参考 SDK 是否支持断线重连机制
  • 相关接口:[loginRoom]、[logoutRoom]、[switchRoom]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:若长时间处于正在请求连接状态(ZegoRoomStateConnecting),一般是因为用户端网络不稳定导致。

OnRoomStateChanged

OnRoomStateChanged
public delegate void OnRoomStateChanged(string roomID,ZegoRoomStateChangedReason reason,int errorCode,string extendedData)
房间状态变化通知,包含具体的状态变化原因。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring房间 ID,最大长度为 128 字节的字符串。
reasonZegoRoomStateChangedReason房间状态变化原因。
errorCodeint错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html
extendedDatastring状态更新附带的扩展信息。当房间登录成功时,可通过 "room_session_id" key 获取每一次音视频通信唯一的 RoomSessionID,标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。

详情

当房间的连接状态改变时触发该回调,并通知改变的原因。2.18.0 及以上版本推荐使用 onRoomStateChanged 回调来替代 onRoomStateUpdate 回调监听房间状态变化。

  • 业务场景:开发者可以通过这个回调来判断房间内当前用户的状态。
  • 通知时机: 1. 开发者调用房间相关函数 (参考 "相关接口") 时会收到此通知。 2. 用户设备的网络情况变化时也可能收到此通知 (SDK 在断线时会自动重新登录房间,详情请参考 https://doc-zh.zego.im/faq/reconnect )。
  • 相关接口:[loginRoom], [logoutRoom], [switchRoom]
  • 支持版本:2.18.0 及以上。
  • 使用限制:无。
  • 注意事项:若长时间处于正在请求连接状态 [ZegoRoomStateConnecting],一般是因为用户端网络不稳定导致。

OnRoomUserUpdate

OnRoomUserUpdate
public delegate void OnRoomUserUpdate(string roomID,ZegoUpdateType updateType,uint userCount,List<ZegoUser> userList)
房间内其他用户增加或减少的回调通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring用户已登录的房间 ID,最大长度为 128 字节的字符串。
updateTypeZegoUpdateType更新类型(添加/删除)。
userCountuint
userListList<ZegoUser>当前房间内变更的用户列表。

详情

当房间内有其他用户上线或下线时,导致房间内用户列表发生变化,会通过本回调通知开发者。

  • 业务场景:开发者可以通过这个回调来实时更新房间内的用户列表展示。
  • 通知时机: 1. 用户首次登录房间时,如果房间内有其他用户,SDK 会触发 "updateType" 为 [ZegoUpdateTypeAdd] 的回调通知,此时 "userList" 为房间内的其他用户。 2. 用户已在房间内,如果有其他用户通过 [loginRoom]、[switchRoom] 函数登录到本房间,SDK 会触发 "updateType" 为 [ZegoUpdateTypeAdd] 的回调通知。 3. 用户已在房间内,有其他用户通过 [logoutRoom]、[switchRoom] 函数登出本房间,SDK 会触发 "updateType" 为 [ZegoUpdateTypeDelete] 的回调通知。 4. 用户已在房间内,如果有其他用户从服务端被踢出本房间,SDK 会触发 "updateType" 为 [ZegoUpdateTypeDelete] 的回调通知。
  • 相关接口:[loginRoom]、[logoutRoom]、[switchRoom]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:调用 [loginRoom] 登录房间时设置 [ZegoRoomConfig] 参数中的 "isUserStatusNotify" 属性为 "true" 时,才会接收到这个回调通知。如果开发者需要使用在回调通知中处理相关业务,请确保每个登录的用户都将 "isUserStatusNotify" 设置为 "true"。

OnRoomOnlineUserCountUpdate

OnRoomOnlineUserCountUpdate
public delegate void OnRoomOnlineUserCountUpdate(string roomID,int count)
房间内当前在线用户数量回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring用户已登录的房间 ID,最大长度为 128 字节的字符串。
countint当前在线用户数量。

详情

此方法会通知用户当前房间内的在线人数。

  • 业务场景:开发者可根据此回调来来展示当前房间内的在线人数。
  • 通知时机:登录房间成功后。
  • 支持版本:1.7.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 此函数 30 秒回调一次。2. 因设计如此,当房间内用户超过 500 后,对房间内在线人数的统计会有一些误差。

OnRoomStreamUpdate

OnRoomStreamUpdate
public delegate void OnRoomStreamUpdate(string roomID,ZegoUpdateType updateType,List<ZegoStream> streamList,string extendedData)
相同房间内其他用户推的流增加或减少的通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring用户已登录的房间 ID,最大长度为 128 字节的字符串。
updateTypeZegoUpdateType更新类型(添加/删除)。
streamListList<ZegoStream>更新的流列表。
extendedDatastring流更新附带的扩展信息。收到流删除通知时,开发者可将该字符串转为 json 对象得到 stream_delete_reason 字段,该字段为流删除原因的数组,stream_delete_reason[].code 字段可能为如下值:1(用户主动停止推流); 2(用户心跳超时); 3(用户重复登录); 4(用户被踢出); 5(用户断线); 6(被服务端移除)。

详情

当房间内有其他用户开始推流或停止推流时,导致房间内流列表发生变化,会通过本回调通知开发者。

  • 业务场景:开发者可根据此回调来判断指定房间内其他用户是否新增推流或停止推流,并根据情况选择调用 [startPlayingStream] 主动拉流或调用[stopPlayingStream] 停止拉流,同时也可以变更拉流的 UI 控件。
  • 通知时机: 1. 用户首次登录房间时,如果房间内其他用户正在推流,SDK 会触发 updateType 为 [ZegoUpdateTypeAdd] 的回调通知,此时 "streamList" 为已存在的流列表。 2. 用户已在房间内,如果有其他用户新增推流,SDK 会触发 "updateType" 为 [ZegoUpdateTypeAdd] 的回调通知。 3. 用户已在房间内,如果有其他用户停止推流,SDK 会触发 "updateType" 为 [ZegoUpdateTypeDelete] 的回调通知。 4. 用户已在房间内,如果有其他用户退出房间,SDK 会触发 "updateType" 为 [ZegoUpdateTypeDelete] 的回调通知。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

OnRoomStreamExtraInfoUpdate

OnRoomStreamExtraInfoUpdate
public delegate void OnRoomStreamExtraInfoUpdate(string roomID,List<ZegoStream> streamList)
房间内流附加信息更新通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring用户已登录的房间 ID,最大长度为 128 字节的字符串。
streamListList<ZegoStream>流附加信息更新的流列表。

详情

房间内流附加信息更新时所有房间内用户会收到通知。

  • 业务场景:用户可通过流附加信息与流生命周期一致的特性实现一些业务功能。
  • 通知时机:当相同房间内一个正在推流的用户更新了流的附加信息时,相同房间内的其他用户会收到该回调。
  • 相关接口:推流用户可以通过 [setStreamExtraInfo] 设置流附加信息。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:不同于流 ID 在推流过程中不可修改,流附加信息可以在对应流 ID 的生命周期中更新。

OnRoomExtraInfoUpdate

OnRoomExtraInfoUpdate
public delegate void OnRoomExtraInfoUpdate(string roomID,List<ZegoRoomExtraInfo> roomExtraInfoList)
房间附加信息更新通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring用户已登录的房间 ID,最大长度为 128 字节的字符串。
roomExtraInfoListList<ZegoRoomExtraInfo>更新的房间附加信息列表。

详情

房间附加信息更新后,除更新房间附加信息的用户外,房间内所有用户会收到通知。

  • 业务场景:为房间附加信息。
  • 通知时机:当相同房间内其他用户更新了房间附加信息时,相同房间内的其他用户会收到该回调。
  • 相关接口:用户可以通过 [setRoomExtraInfo] 更新房间附加信息。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

OnRoomTokenWillExpire

OnRoomTokenWillExpire
public delegate void OnRoomTokenWillExpire(string roomID,int remainTimeInSecond)
房间 Token 鉴权将要过期的回调通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring用户已登录的房间 ID,最大长度为 128 字节的字符串。
remainTimeInSecondinttoken 过期前的剩余时间。

详情

房间 Token 鉴权将要过期的回调通知,请用户通过 [renewToken] 函数更新房间 Token 鉴权。

  • 业务场景:为了防止炸麦场景,需要对登录房间、推流等操作进行鉴权控制,提高安全性。
  • 通知时机:在 Token 过期前 30 秒,SDK 会通过 onRoomTokenWillExpire 回调发出通知。
  • 相关接口:当开发者收到此回调后,可通过 [renewToken] 来更新 token 鉴权信息。
  • 支持版本:2.8.0 及以上。
  • 使用限制:无。
  • 注意事项:Token 中包含用户的房间权限、推流权限、有效时间等重要信息,详情请参考 https://doc-zh.zego.im/article/10360

OnPublisherStateUpdate

OnPublisherStateUpdate
public delegate void OnPublisherStateUpdate(string streamID,ZegoPublisherState state,int errorCode,string extendedData)
推流状态回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring推流的流 ID。
stateZegoPublisherState推流状态。
errorCodeint推流状态变更对应的错误码。请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
extendedDatastring状态更新附带的扩展信息,包含CDN拉流地址。

详情

在调用推流接口 [startPublishingStream] 成功后,可以通过该回调函数获取推流状态变更的通知。开发者可根据 state 参数是否在 [正在请求推流状态] 来大体判断用户的推流网络情况。

  • 相关回调:在调用拉流接口 [startPlayingStream] 成功后,可以通过回调函数 [onPlayerStateUpdate] 获取拉流状态变更的通知。开发者可根据 state 参数是否在 [正在请求拉流状态] 来大体判断用户的拉流网络情况。
  • 支持版本:1.1.0 及以上。
  • 注意事项:参数 [extendedData] 为状态更新附带的扩展信息。若使用 ZEGO 的 CDN 内容分发网络,在推流成功后,该参数的内容的键为 [flv_url_list]、[rtmp_url_list]、[hls_url_list],分别对应 flv、rtmp、hls 协议的拉流 URL。

OnPublisherQualityUpdate

OnPublisherQualityUpdate
public delegate void OnPublisherQualityUpdate(string streamID,ZegoPublishStreamQuality quality)
推流质量回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring推流的流 ID。
qualityZegoPublishStreamQuality推流质量,包含了音视频帧率、码率、RTT 等值。

详情

在调用推流接口 [startPublishingStream] 成功后默认3秒(该时间如果需要变更,请联系 ZEGO 技术支持配置)会收到此回调,通过该回调可以获取推送的音视频流的采集帧率,码率,RTT,丢包率等质量数据。开发者可根据此函数的质量参数实时监控推送的音视频流的健康情况,以便在设备 UI 界面上实时展示上行网络状况。

  • 相关回调:当调用拉流接口 [startPlayingStream] 成功后每3秒会收到回调 [onPlayerQualityUpdate],开发者可根据拉取的音视频流的帧率,码率,RTT,丢包率等质量数据,实时监控拉取流的健康情况。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者不清楚该回调函数的各个参数应该如何使用,可以只关注其中的 [quality] 参数的 [level] 字段,这是 SDK 内部根据质量参数计算的一个描述上行网络的综合值。

OnPublisherCapturedAudioFirstFrame

OnPublisherCapturedAudioFirstFrame
public delegate void OnPublisherCapturedAudioFirstFrame()
音频采集首帧回调接口。
Declared in IZegoEventHandler.cs

SDK 启动麦克风采集到第一帧音频数据时会收到此回调。若未收到该回调,说明音频采集设备被占用或异常。

  • 通知时机:SDK内部的音视频模块的引擎启动时,SDK 会去采集本机设备的音频数据,此时会收到该回调。
  • 相关回调:通过回调函数[onPublisherCapturedVideoFirstFrame] 判断 SDK 是否真正采集到了视频数据,通过回调[onPublisherRenderVideoFirstFrame] 判断 SDK 是否渲染完了采集到的第一帧视频数据。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPublisherCapturedVideoFirstFrame

OnPublisherCapturedVideoFirstFrame
public delegate void OnPublisherCapturedVideoFirstFrame(ZegoPublishChannel channel)
视频采集首帧回调接口。
Declared in IZegoEventHandler.cs

参数

名称类型描述
channelZegoPublishChannel推流通道,如果只推一路音视频流,可以不关注该参数。

详情

SDK 启动摄像头采集到第一帧视频数据时会收到此回调。若未收到该回调,说明视频采集设备被占用或异常。

  • 通知时机:SDK 内部的音视频模块的引擎启动时,SDK 会去采集本机设备的视频数据,此时会收到该回调。
  • 相关回调:通过回调函数 [onPublisherCapturedAudioFirstFrame] 判断 SDK 是否真的采集到音频数据,通过回调 [onPublisherRenderVideoFirstFrame] 判断 SDK 是否渲染完采集到的第一帧视频数据。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPublisherRenderVideoFirstFrame

OnPublisherRenderVideoFirstFrame
public delegate void OnPublisherRenderVideoFirstFrame(ZegoPublishChannel channel)
推流端视频渲染首帧回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
channelZegoPublishChannel推流通道,如果只推一路音视频流,可以不关注该参数。

详情

SDK 渲染完采集到的第一帧视频数据时会收到此回调,该接口为预览渲染,自定义视频采集内部预览才有首帧回调,如果不是 SDK 渲染没有此回调。

  • 相关回调:调用推流函数 [startPublishingStream] 成功后, 通过回调函数 [onPublisherCapturedAudioFirstFrame] 判断 SDK 是否真的采集到音频数据,通过回调 [onPublisherCapturedVideoFirstFrame] 判断 SDK 是否真的采集到视频数据。
  • 支持版本:2.4.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPublisherVideoSizeChanged

OnPublisherVideoSizeChanged
public delegate void OnPublisherVideoSizeChanged(int width,int height,ZegoPublishChannel channel)
采集视频大小变更回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
widthint视频采集分辨率宽。
heightint视频采集分辨率高。
channelZegoPublishChannel推流通道,如果只推一路音视频流,可以不关注该参数。

详情

当在未推流 [startPublishingStream] 或未预览 [startPreview] 的情况下,首次推流或首次预览,即 SDK 内部的音视频模块的引擎启动时,会去采集本机设备的视频数据,此时采集分辨率会改变。

  • 通知时机:推流 [startPublishingStream] 成功后,在推流中途如果有改变视频采集分辨率发生变化将会收到此回调。
  • 业务场景:开发者可以根据此回调来去除本地预览的 UI 的遮盖等类似操作。也可以根据该回调的分辨率来动态调整预览视图的比例等。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:外部采集时通知的是编码分辨率大小变化,会受到流控影响。

OnPublisherRelayCDNStateUpdate

OnPublisherRelayCDNStateUpdate
public delegate void OnPublisherRelayCDNStateUpdate(string streamID,List<ZegoStreamRelayCDNInfo> infoList)
添加/删除转推 CDN 地址状态回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring推流的流 ID。
infoListList<ZegoStreamRelayCDNInfo>当前 CDN 正在转推的信息列表。

详情

开发者可根据该回调判断转推 CDN 的音视频流是否正常,若不正常根据异常原因进一步定位转推 CDN 的音视频流异常的原因,以及做对应的容灾策略。

  • 通知时机:在 ZEGO RTC 服务器将音视频流转推到 CDN 后,如果 CDN 转推状态发生变化,例如出现转推停止或转推重试,将会收到此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:若对异常的原因不了解,可联系 ZEGO 技术人员分析具体异常的原因。

OnPublisherDummyCaptureImagePathError

OnPublisherDummyCaptureImagePathError
public delegate void OnPublisherDummyCaptureImagePathError(int errorCode,string path,ZegoPublishChannel channel)
通知设置关闭摄像头时所推静态图片的路径错误。
Declared in IZegoEventHandler.cs

参数

名称类型描述
errorCodeint错误码。
pathstring图片路径。
channelZegoPublishChannel推流通道,如果只推一路音视频流,可以不关注该参数。

详情

通知设置关闭摄像头时所推静态图片的路径错误。

  • 通知时机:通过 [setDummyCaptureImagePath] 设置了图片的路径,但是推流时无法获取到该图片,就会触发本回调。
  • 支持版本:3.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:设置前请确保该图片路径正确,有读权限。

OnPlayerStateUpdate

OnPlayerStateUpdate
public delegate void OnPlayerStateUpdate(string streamID,ZegoPlayerState state,int errorCode,string extendedData)
拉流状态变更回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring流 ID。
stateZegoPlayerState拉流状态。
errorCodeint拉流状态变更对应的错误码。请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
extendedDatastring状态更新附带的扩展信息。备用,目前仅返回空 json 表。

详情

在调用拉流接口 [startPlayingStream] 成功后,可以通过该回调函数获取拉流状态变更的通知。开发者可根据 state 参数是否在 [正在请求拉流状态] 来大体判断用户的拉流网络情况。

  • 通知时机:在调用拉流接口 [startPlayingStream] 成功后,拉流状态变更时。
  • 相关回调:在调用推流接口 [startPublishingStream] 成功后,可以通过回调函数 [onPublisherStateUpdate] 获取推流状态变更的通知。开发者可根据 state 参数是否在 [正在请求推流状态] 来大体判断用户的推流网络情况。
  • 支持版本:1.1.0 及以上。

OnPlayerQualityUpdate

OnPlayerQualityUpdate
public delegate void OnPlayerQualityUpdate(string streamID,ZegoPlayStreamQuality quality)
拉流质量回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
qualityZegoPlayStreamQuality拉流质量,包含了音视频帧率、码率、RTT 等值。

详情

在调用拉流接口 [startPlayingStream] 成功后每3秒(该时间如果需要变更,请联系 ZEGO 技术支持配置)会收到此回调,通过该回调可以获取拉取的音视频流的帧率,码率,RTT,丢包率等质量数据。

  • 业务场景:开发者可根据此函数的质量参数实时监控拉取的音视频流的健康情况,以便在设备 UI 界面上实时展示下行网络状况。
  • 相关回调:当调用推流接口 [startPublishingStream] 成功后每3秒会收到回调 [onPublisherQualityUpdate],开发者可根据推送的音视频流的帧率,码率,RTT,丢包率等质量数据,实时监控推送流的健康情况。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者不清楚该回调函数的各个参数应该如何使用,可以只关注其中的 quality 参数的 level 字段,这是 SDK 内部根据质量参数计算的一个描述下行网络的综合值。

OnPlayerMediaEvent

OnPlayerMediaEvent
public delegate void OnPlayerMediaEvent(string streamID,ZegoPlayerMediaEvent mediaEvent)
拉流媒体事件回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
mediaEventZegoPlayerMediaEvent拉流时收到的具体事件。

详情

该回调用于接收拉流媒体事件。

  • 业务场景:开发者可以根据此回调对卡顿情况做统计或在 App 的 UI 界面做友好的展示。
  • 通知时机:在调用拉流接口 [startPlayingStream]后,当拉流发生音视频卡顿以及恢复等事件发生时会触发此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPlayerRecvAudioFirstFrame

OnPlayerRecvAudioFirstFrame
public delegate void OnPlayerRecvAudioFirstFrame(string streamID)
拉流端音频接收首帧回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。

详情

调用拉流函数 [startPlayingStream] 成功后,SDK 接收到第一帧音频数据时会收到此回调。

  • 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
  • 通知时机:SDK 从网络接收到第一帧音频数据时,会收到该回调。
  • 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到视频数据,通过回调 [onPlayerRenderVideoFirstFrame] 判断 SDK 是否渲染完接收到的第一帧视频数据。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPlayerRecvVideoFirstFrame

OnPlayerRecvVideoFirstFrame
public delegate void OnPlayerRecvVideoFirstFrame(string streamID)
拉流端视频接收首帧回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。

详情

调用拉流函数 [startPlayingStream] 成功后,SDK 接收到第一帧视频数据时会收到此回调。

  • 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
  • 通知时机:SDK 从网络接收到第一帧视频数据时,会收到该回调。
  • 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerRenderVideoFirstFrame] 判断 SDK 是否渲染完接收到的第一帧视频数据。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPlayerRenderVideoFirstFrame

OnPlayerRenderVideoFirstFrame
public delegate void OnPlayerRenderVideoFirstFrame(string streamID)
拉流端渲染完视频首帧回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。

详情

调用拉流函数 [startPlayingStream] 成功后,SDK 拉流并渲染完第一帧视频数据后会收到此回调。

  • 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
  • 通知时机:SDK 拉流并渲染完第一帧视频数据后会收到此回调。
  • 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到第一帧视频数据。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnPlayerRenderCameraVideoFirstFrame

OnPlayerRenderCameraVideoFirstFrame
public delegate void OnPlayerRenderCameraVideoFirstFrame(string streamID)
拉流端渲染完远端摄像头视频首帧回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。

详情

调用 [startPlayingStream] 函数拉流成功后,SDK 拉流并渲染完第一帧远端摄像头视频数据后会收到此回调。

  • 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
  • 通知时机:远端 [enableCamera] 开启摄像头后,或者 [mutePublishStreamVideo] 为 true 开始发送视频数据后,SDK 拉流并渲染完第一帧远端摄像头视频数据后会收到此回调。
  • 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到第一帧视频数据。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:仅适用于远端使用摄像头推流的情况。仅适用于 RTC 推拉流场景。

OnPlayerVideoSizeChanged

OnPlayerVideoSizeChanged
public delegate void OnPlayerVideoSizeChanged(string streamID,int width,int height)
拉流分辨率变更通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
widthint视频解码分辨率宽。
heightint视频解码分辨率高。

详情

调用拉流函数 [startPlayingStream] 成功后,当收到视频首帧数据,或推流方通过 [setVideoConfig] 改变编码分辨率,或流控策略生效时,拉流分辨率会发生改变。

  • 业务场景:开发者可根据流的最终分辨率来更新或切换真正播放流的 UI 组件。
  • 通知时机:拉流 [startPlayingStream] 成功后,在拉流中途如果有视频分辨率发生变化将会收到此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:若拉的是流只有音频数据,则不会收到该回调。

OnPlayerRecvSEI

OnPlayerRecvSEI
deprecated
public delegate void OnPlayerRecvSEI(string streamID,byte[] data)
收到远端流的 SEI 内容。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
databyte[]SEI 内容。

详情

调用拉流函数 [startPlayingStream] 成功后,当远端流发送 SEI 后(如 直接调用 [sendSEI] 、混音中带 SEI 数据、自定义视频采集发送码流数据时附带 SEI 等等),本端会收到此回调。

  • 通知时机:拉流 [startPlayingStream] 成功后,当远端流发送 SEI 后,本端会收到此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:1. 由于视频编码器自身会产生 payload type 为 5 的 SEI,或者使用视频文件推流时,视频文件中也可能存在这样的 SEI,因此若开发者需要过滤掉这类型的 SEI 时,可在 [createEngine] 之前调用 [ZegoEngineConfig.advancedConfig("unregister_sei_filter", "XXXXX")]。其中 unregister_sei_filter 为 key,XXXXX 为需要设置的uuid过滤字符串。2.调用 [mutePlayStreamVideo] 或 [muteAllPlayStreamVideo] 设置只拉音频流时,将无法接收媒体次要信息。
已废弃
此函数将在 3.4.0 版本及以上已废弃,请使用 [onPlayerSyncRecvSEI] 函数代替。

OnPlayerSyncRecvSEI

OnPlayerSyncRecvSEI
public delegate void OnPlayerSyncRecvSEI(string streamID,byte[] data)
同步接收远端流的 SEI 内容。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
databyte[]SEI 内容。

详情

调用拉流函数 [startPlayingStream] 成功后,当远端流发送 SEI 后(例如 直接调用 [sendSEI] 、混音中带 SEI 数据、自定义视频采集发送码流数据时附带 SEI 等等),本端会收到此回调。

  • 通知时机:拉流 [startPlayingStream] 成功且远端流发送 SEI 后,本端会收到此回调。
  • 支持版本:3.4.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:1. 由于视频编码器自身会产生 payload type 为 5 的 SEI,或者使用视频文件推流时,视频文件中也可能存在这样的 SEI,因此若开发者需要过滤掉这类型的 SEI 时,可在 [createEngine] 之前调用 [ZegoEngineConfig.advancedConfig("unregister_sei_filter", "XXXXX")],其中 unregister_sei_filter 为 key,XXXXX 为需要设置的 uuid 过滤字符串。 2.执行 [mutePlayStreamVideo] 或 [muteAllPlayStreamVideo] 设置只拉音频流时,将无法接收媒体次要信息。

OnPlayerStreamEvent

OnPlayerStreamEvent
public delegate void OnPlayerStreamEvent(ZegoStreamEvent eventID,string streamID,string extraInfo)
拉流事件回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
eventIDZegoStreamEvent拉流事件ID
streamIDstring拉流的流 ID。
extraInfostring附加信息。JSON 格式的字符串。目前包括的信息有 "url"表示地址, "streamProtocol"表示流协议,包括rtmp,flv,avertp,hls,webrtc等, "netProtocol"表示网络协议,包括tcp,udp,quic, "resourceType"表示资源类型,包括cdn,rtc,l3。

详情

发起拉流后,这个回调会返回当前使用的拉流地址,资源类型和协议相关信息。

  • 通知时机:拉流以及重试拉流的事件。
  • 支持版本:2.18.0 及以上。
  • 注意事项:无。

OnMixerRelayCDNStateUpdate

OnMixerRelayCDNStateUpdate
public delegate void OnMixerRelayCDNStateUpdate(string taskID,List<ZegoStreamRelayCDNInfo> infoList)
混流转推 CDN 状态更新通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
taskIDstring混流任务 ID。取值范围:长度不超过256。注意事项:该参数为字符串格式,不可以包含 URL 关键字,例如 'http', '?' 等,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。
infoListList<ZegoStreamRelayCDNInfo>当前 CDN 正在混流的信息列表。

详情

在 ZEGO RTC 服务器的混流任务的一般情况会以 RTMP 协议将输出流向 CDN 推送,推送过程中出现的状态的变化会从该回调函数通知出来。

  • 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
  • 通知时机:开发者调用 [startMixerTask] 函数开始混流后,ZEGO RTC服务器将输出流向CDN推送的时候出现状态变化时。
  • 相关回调:可通过 [onMixerSoundLevelUpdate] 获取混流中的每条单流的声浪更新通知。
  • 相关接口:可通过 [startMixerTask] 开始混流任务。
  • 支持版本:1.2.1 及以上。
  • 使用限制:不适用于 WebGL。

OnMixerSoundLevelUpdate

OnMixerSoundLevelUpdate
public delegate void OnMixerSoundLevelUpdate(Dictionary<uint, float> soundLevels)
混流中的每条单流的声浪更新通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
soundLevelsDictionary<uint, float>混流中每条单流的声浪键值对,key 为每条单流的 soundLevelID,value 为对应的单流的声浪值。取值范围:value 的取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。

详情

开发者可根据此回调在观众拉混流的 UI 界面显示哪条流的主播在说话的效果。

  • 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
  • 通知时机:开发者调用 [startPlayingStream] 函数开始拉混流后,回调通知周期为 100 ms。
  • 相关回调:可通过 [onMixerRelayCDNStateUpdate] 获取混流转推 CDN 状态更新通知。
  • 相关接口:可通过 [startMixerTask] 开始混流任务。
  • 支持版本:1.2.1 及以上。
  • 使用限制:该回调每 100 ms 触发一次,触发频率不支持设置。由于该回调频率高,请勿在该回调中执行耗时任务或者 UI 操作,以免造成卡顿。不适用于 WebGL。

OnAutoMixerSoundLevelUpdate

OnAutoMixerSoundLevelUpdate
public delegate void OnAutoMixerSoundLevelUpdate(Dictionary<string, float> soundLevels)
自动混流中的每条单流的声浪更新通知
Declared in IZegoEventHandler.cs

参数

名称类型描述
soundLevelsDictionary<string, float>混流中每条单流的声浪键值对,key 为每条单流的 streamID,value 为对应的单流的声浪值,value 的取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。

详情

用户可根据此回调获取自动混流时拉取到的每条流的声浪信息,包括 streamID 和声浪值。

  • 业务场景:常用于语聊房场景,用户可根据此回调在观众拉混流时显示哪条流的主播在说话。
  • 通知时机:调用 [startPlayingStream] 函数拉流后触发。
  • 相关接口:可调用 [startAutoMixerTask] 函数,开始自动混流任务。可调用 [stopAutoMixerTask] 函数,停止自动混流任务。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。

OnAudioDeviceStateChanged

OnAudioDeviceStateChanged
public delegate void OnAudioDeviceStateChanged(ZegoUpdateType updateType,ZegoAudioDeviceType deviceType,ZegoDeviceInfo deviceInfo)
音频设备状态改变
Declared in IZegoEventHandler.cs

参数

名称类型描述
updateTypeZegoUpdateType更新类型(添加/删除)
deviceTypeZegoAudioDeviceType音频设备类型
deviceInfoZegoDeviceInfo音频设备信息

详情

通过监听此回调,用户可在必要的时候更新使用特定设备进行声音采集或输出。

  • 通知时机:监测到系统中有音频设备添加或移除时,会触发此回调。
  • 平台差异:仅支持 Windows、macOS。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnAudioDeviceVolumeChanged

OnAudioDeviceVolumeChanged
public delegate void OnAudioDeviceVolumeChanged(ZegoAudioDeviceType deviceType,string deviceID,int volume)
音频设备音量变更。
Declared in IZegoEventHandler.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring音频设备ID
volumeint音频设备音量

详情

音频设备音量变更事件回调。

  • 通知时机:调用 [startAudioDeviceVolumeMonitor] 函数启动设备音量监控器后,且监控的音频设备音量发生变更时。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnVideoDeviceStateChanged

OnVideoDeviceStateChanged
public delegate void OnVideoDeviceStateChanged(ZegoUpdateType updateType,ZegoDeviceInfo deviceInfo)
视频设备状态改变。
Declared in IZegoEventHandler.cs

参数

名称类型描述
updateTypeZegoUpdateType更新类型(添加/删除)
deviceInfoZegoDeviceInfo视频设备信息

详情

通过监听此回调,用户可在必要的时候更新使用特定设备进行视频采集。

  • 通知时机:监测到系统中有视频设备添加或移除时,会触发此回调。
  • 平台差异:仅支持 Windows、macOS。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

OnCapturedSoundLevelUpdate

OnCapturedSoundLevelUpdate
public delegate void OnCapturedSoundLevelUpdate(float soundLevel)
本地采集音频声浪回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
soundLevelfloat本地采集的声浪值,取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。

详情

本地采集音频声浪回调。

  • 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后。
  • 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onRemoteSoundLevelUpdate] 监控远端拉流音频声浪。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. 回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值,当处于未推流 [startPublishingStream] 且未预览 [startPreview] 状态时,回调数值为默认值 0。 2. 该回调为高频回调,建议不要在回调内部做复杂逻辑处理。

OnCapturedSoundLevelInfoUpdate

OnCapturedSoundLevelInfoUpdate
public delegate void OnCapturedSoundLevelInfoUpdate(ZegoSoundLevelInfo * soundLevelInfo)
本地采集音频声浪回调,支持人声检测。
Declared in IZegoEventHandler.cs

参数

名称类型描述
soundLevelInfoZegoSoundLevelInfo *本地采集的声浪值,取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。

详情

本地采集音频声浪回调。

  • 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后。
  • 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onRemoteSoundLevelUpdate] 或 [onRemoteSoundLevelInfoUpdate] 监控远端拉流音频声浪。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. 回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值。 2. 该回调为高频回调,建议不要在回调内部做复杂逻辑处理。

OnRemoteSoundLevelUpdate

OnRemoteSoundLevelUpdate
public delegate void OnRemoteSoundLevelUpdate(Dictionary<string, float> soundLevels)
远端拉流音频声浪回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
soundLevelsDictionary<string, float>远端的声浪键值对,key 为流 ID,value 为对应的流的声浪值,value 取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。

详情

远端拉流音频声浪回调。

  • 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后,且处于正在拉流 [startPlayingStream] 的状态。
  • 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onCapturedSoundLevelUpdate] 或 [onCapturedSoundLevelInfoUpdate] 监控本地拉流音频声浪。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值。

OnRemoteSoundLevelInfoUpdate

OnRemoteSoundLevelInfoUpdate
public delegate void OnRemoteSoundLevelInfoUpdate(Dictionary<string, ZegoSoundLevelInfo> soundLevelInfos)
远端拉流音频声浪回调,支持人声检测。
Declared in IZegoEventHandler.cs

参数

名称类型描述
soundLevelInfosDictionary<string, ZegoSoundLevelInfo>远端的声浪键值对,key 为流 ID,value 为对应的流的声浪值,value 取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。

详情

远端拉流音频声浪回调。

  • 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后,且处于正在拉流 [startPlayingStream] 的状态。
  • 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onCapturedSoundLevelUpdate] 或 [onCapturedSoundLevelInfoUpdate] 监控本地拉流音频声浪。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值。

OnCapturedAudioSpectrumUpdate

OnCapturedAudioSpectrumUpdate
public delegate void OnCapturedAudioSpectrumUpdate(float[] audioSpectrum)
本地采集音频频谱回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
audioSpectrumfloat[]本地采集的音频频谱值数组,频谱值范围为 [0-2^30]。

详情

本地采集音频频谱回调。

  • 通知时机:调用 [startAudioSpectrumMonitor] 函数启动声浪监控器后。
  • 相关接口:通过 [startAudioSpectrumMonitor] 启动声浪监控,通过回调 [onRemoteAudioSpectrumUpdate] 监控远端拉流音频频谱。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:回调通知周期为调用 [startAudioSpectrumMonitor] 时设置的参数值,当处于未推流 [startPublishingStream] 且未预览 [startPreview] 状态时,回调数值为默认值 0。

OnRemoteAudioSpectrumUpdate

OnRemoteAudioSpectrumUpdate
public delegate void OnRemoteAudioSpectrumUpdate(Dictionary<string, float[]> audioSpectrums)
远端拉流音频频谱回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
audioSpectrumsDictionary<string, float[]>远端音频频谱键值对,key 是流 ID,value 为对应的流的音频频谱值数组,频谱值范围为 [0-2^30]

详情

远端拉流音频频谱回调。

  • 通知时机:调用 [startAudioSpectrumMonitor] 函数启动声浪监控器后,且处于正在拉流 [startPlayingStream] 的状态。
  • 相关接口:通过 [startAudioSpectrumMonitor] 启动音频频谱监控,通过回调 [onCapturedAudioSpectrumUpdate] 监控本地采集音频频谱。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:回调通知周期为调用 [startAudioSpectrumMonitor] 时设置的参数值。

OnLocalDeviceExceptionOccurred

OnLocalDeviceExceptionOccurred
public delegate void OnLocalDeviceExceptionOccurred(ZegoDeviceExceptionType exceptionType,ZegoDeviceType deviceType,string deviceID)
本地设备异常通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
exceptionTypeZegoDeviceExceptionType设备异常类型。
deviceTypeZegoDeviceType发生异常的设备类型。
deviceIDstring设备 ID。目前仅支持桌面端设备,用于标识具体的设备;对于移动端设备,此参数将返回空字符串。

详情

本地设备异常。

  • 通知时机:当本地音频或视频设备功能出现异常时会触发此回调。
  • 支持版本:2.15.0 及以上。
  • 使用限制:不适用于 WebGL。

OnRemoteCameraStateUpdate

OnRemoteCameraStateUpdate
public delegate void OnRemoteCameraStateUpdate(string streamID,ZegoRemoteDeviceState state)
远端摄像头设备状态通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
stateZegoRemoteDeviceState远端摄像头状态。

详情

远端摄像头设备状态通知。

  • 业务场景:1v1 教育场景的开发者或者教育小班课场景及相似场景的开发者可以根据此回调来判断远端推流设备的摄像头设备是否正常工作,以及根据相应的 state 初步了解设备出问题的原因。
  • 通知时机:远端摄像头设备状态发生变更时,例如开关摄像头等,通过监听此回调,能够获取远端摄像头相关的事件,可以用于提示用户可能导致视频异常的情况。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当从 CDN 拉流时,或对端使用了自定义视频采集时,不会触发此回调。

OnRemoteMicStateUpdate

OnRemoteMicStateUpdate
public delegate void OnRemoteMicStateUpdate(string streamID,ZegoRemoteDeviceState state)
远端麦克风设备状态通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
stateZegoRemoteDeviceState远端麦克风状态。

详情

远端麦克风设备状态通知。

  • 业务场景:1v1 教育场景的开发者或者教育小班课场景及相似场景的开发者可以根据此回调来判断远端推流设备的麦克风设备是否正常工作,以及根据相应的 state 初步了解设备出问题的原因。
  • 通知时机:远端麦克风设备状态发生变更时,例如开关麦克风等,通过监听此回调,能够获取远端麦克风相关的事件,可以用于提示用户可能导致音频异常的情况。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当从 CDN 拉流时,或对端使用了自定义音频采集时(且不是推流到 ZEGO RTC服务器),不会触发此回调。

OnRemoteSpeakerStateUpdate

OnRemoteSpeakerStateUpdate
public delegate void OnRemoteSpeakerStateUpdate(string streamID,ZegoRemoteDeviceState state)
远端扬声器设备状态通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
streamIDstring拉流的流 ID。
stateZegoRemoteDeviceState远端扬声器状态。

详情

远端扬声器设备状态通知。

  • 业务场景:1v1 教育场景的开发者或者教育小班课场景及相似场景的开发者可以根据此回调来判断远端推流设备的扬声器设备是否正常工作,以及根据相应的 state 初步了解设备出问题的原因。
  • 通知时机:远端扬声器设备状态发生变更时,例如开关扬声器等,通过监听此回调,能够获取远端扬声器相关的事件。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:此回调当从 CDN 拉流时不会回调。

OnAudioRouteChange

OnAudioRouteChange
public delegate void OnAudioRouteChange(ZegoAudioRoute audioRoute)
音频设备路由变更通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
audioRouteZegoAudioRoute当前音频路由。

详情

音频设备路由变更通知。

  • 通知时机:当有耳机插拔、扬声器和听筒切换等音频路由发生变化时会抛出此回调。
  • 平台差异:仅支持 iOS 和 Android。
  • 支持版本:1.20.0 及以上。

OnIMRecvBroadcastMessage

OnIMRecvBroadcastMessage
public delegate void OnIMRecvBroadcastMessage(string roomID,List<ZegoBroadcastMessageInfo> messageList)
接收房间广播消息通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring房间 ID。取值范围:最大长度为 128 字节。
messageListList<ZegoBroadcastMessageInfo>收到的消息列表。取值范围:每次最多接收 50 条消息。

详情

该回调用于接收相同房间内其他用户发送的广播消息。

  • 业务场景:一般在直播房间内使用。
  • 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有用户通过 [sendBroadcastMessage] 函数发送广播消息,则触发此回调。
  • 相关回调:可通过[onIMRecvBarrageMessage]接收房间弹幕消息,可通过 [onIMRecvCustomCommand] 接收房间自定义信令。
  • 支持版本:1.2.1 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:用户自己发送的广播消息不会通过此回调得到通知。

OnIMRecvBarrageMessage

OnIMRecvBarrageMessage
public delegate void OnIMRecvBarrageMessage(string roomID,List<ZegoBarrageMessageInfo> messageList)
接收房间弹幕消息通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring房间 ID。取值范围:最大长度为 128 字节。
messageListList<ZegoBarrageMessageInfo>收到的消息列表。取值范围:每次最多接收 50 条消息。

详情

该回调用于接收相同房间内其他用户发送的弹幕消息。

  • 业务场景:一般用于房间内有大量消息收发,且不需要保证消息可靠性的场景,例如直播弹幕。
  • 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有用户通过 [sendBarrageMessage] 函数发送弹幕消息,则触发此回调。
  • 相关回调:可通过[onIMRecvBroadcastMessage]接收房间广播消息,可通过 [onIMRecvCustomCommand] 接收房间自定义信令。
  • 支持版本:1.5.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:用户自己发送的弹幕消息不会通过此回调得到通知。在房间内有大量弹幕消息时可能会延迟收到通知,且可能丢失部分弹幕消息。

OnIMRecvCustomCommand

OnIMRecvCustomCommand
public delegate void OnIMRecvCustomCommand(string roomID,ZegoUser fromUser,string command)
接收自定义信令通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
roomIDstring房间 ID。取值范围:最大长度为 128 字节。
fromUserZegoUser信令的发送人。
commandstring信令内容。取值范围:最大长度为 1024 字节。

详情

该回调用于接收相同房间内其他用户发送的自定义信令。

  • 业务场景:一般在直播房间内使用。
  • 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有其他用户通过 [sendCustomCommand] 函数发送自定义信令给开发者,则触发此回调。
  • 相关回调:可通过[onIMRecvBroadcastMessage]接收房间广播消息,可通过 [onIMRecvBarrageMessage] 接收房间弹幕消息。
  • 支持版本:1.2.1 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:用户自己发送给自己的自定义信令不会通过此回调得到通知。

OnCapturedDataRecordStateUpdate

OnCapturedDataRecordStateUpdate
public delegate void OnCapturedDataRecordStateUpdate(ZegoDataRecordState state,int errorCode,ZegoDataRecordConfig config,ZegoPublishChannel channel)
本地录制的状态更新回调,当录制过程状态变化时触发。
Declared in IZegoEventHandler.cs

参数

名称类型描述
stateZegoDataRecordState文件录制状态。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html
configZegoDataRecordConfig录制配置对象。
channelZegoPublishChannel推流通道。

详情

本地录制的状态更新回调,当录制过程状态变化时触发。

  • 业务场景:开发者应根据此回调来判断文件录制的状态或者进行 UI 的提示等。
  • 通知时机:调用 [startRecordingCapturedData] 后,当录制过程状态变化时触发。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

OnCapturedDataRecordProgressUpdate

OnCapturedDataRecordProgressUpdate
public delegate void OnCapturedDataRecordProgressUpdate(ZegoDataRecordProgress progress,ZegoDataRecordConfig config,ZegoPublishChannel channel)
录制进度更新回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
progressZegoDataRecordProgress文件录制过程进度,开发者可以此对用户界面进行 UI 的提示等。
configZegoDataRecordConfig录制配置对象。
channelZegoPublishChannel推流通道。

详情

本地录制的进度更新回调,录制过程中定时触发。

  • 业务场景:开发者可以此对用户界面进行 UI 的提示等。
  • 通知时机:调用 [startRecordingCapturedData] 后,如果配置了需要回调,录制过程中定时触发。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

OnNetworkQuality

OnNetworkQuality
public delegate void OnNetworkQuality(string userID,ZegoStreamQualityLevel upstreamQuality,ZegoStreamQualityLevel downstreamQuality)
房间内正在推流的用户的网络质量回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
userIDstring用户 ID,空表示本地用户
upstreamQualityZegoStreamQualityLevel上行网络质量
downstreamQualityZegoStreamQualityLevel下行网络质量

详情

本地和远端用户的上下行网络回调,默认每两秒回调一次本地和每个拉取的远端用户的网络状况。 2.10.0 至 2.13.1 版本: 1. 自身必须既推流又拉流,才会收到自身的网络质量回调。 2. 当拉一条流时,推流端有拉流且推流端在自己所在房间内,才会收到该用户的网络质量。 2.14.0 至 2.21.1 版本:

  1. 自身只要推流或拉流,就会收到自身的网络质量回调。 2. 当拉一条流时,推流端在自己所在房间内,就会收到该用户的网络质量。 2.22.0 及以上版本:
  2. 预估远端推流用户的网络情况,如果远端推流用户心跳丢失 1 次,回调其网络质量为 unknown;如果远端推流用户心跳丢失达到 3 次,回调其网络质量为 die。
  • 业务场景:当开发者希望分析链路上的网络情况,或想要了解本地和远端用户的网络状况。
  • 通知时机:调用 [startPublishingStream] 推流或 [startPlayingStream] 拉流后触发。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。

OnNetworkTimeSynchronized

OnNetworkTimeSynchronized
public delegate void OnNetworkTimeSynchronized()
网络时间同步成功的回调
Declared in IZegoEventHandler.cs
  • 支持版本:2.12.0 及以上。 当开发者调用 [createEngine] 后,内部完成网络时间同步时会触发此回调。不适用于 WebGL。

OnCustomVideoCaptureStart

OnCustomVideoCaptureStart
public delegate void OnCustomVideoCaptureStart(ZegoPublishChannel channel)
自定义视频采集开始的通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

SDK 通知将要开始采集视频帧,收到该回调后向 SDK 发送的视频帧数据才有效。

  • 业务场景:直播非摄像头采集的数据。例如本地视频文件播放、屏幕分享、游戏直播等。
  • 通知时机:调用 [startPreview] 或 [startPublishingStream] 成功之后。
  • 相关回调:自定义视频采集结束通知 [onCaptureStop]。
  • 相关接口:可调用 [setCustomVideoCaptureHandler] 设置自定义视频采集回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:收到该回调后向 SDK 发送的视频帧数据才有效。

OnCustomVideoCaptureStop

OnCustomVideoCaptureStop
public delegate void OnCustomVideoCaptureStop(ZegoPublishChannel channel)
自定义视频采集结束的通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

SDK 通知将要结束采集视频帧。

  • 业务场景:直播非摄像头采集的数据。例如本地视频文件播放、屏幕分享、游戏直播等。
  • 通知时机:调用 [stopPreview] 或 [stopPublishingStream] 成功之后。
  • 相关回调:自定义视频采集开始通知 [onCaptureStart]。
  • 相关接口:可调用 [setCustomVideoCaptureHandler] 设置自定义视频采集回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:如果开启自定义采集后同时调用 [startPreview] 和 [startPublishingStream] 开启预览和推流,则应该调用 [stopPreview] 和 [stopPublishingStream] 停止预览和推流后才会触发该回调。

OnCapturedVideoFrameRawData

OnCapturedVideoFrameRawData
public delegate void OnCapturedVideoFrameRawData(IntPtr[] data,uint[] dataLength,ZegoVideoFrameParam param,ZegoVideoFlipMode flipMode,ZegoPublishChannel channel)
开启自定义视频渲染时,本地预览采集的原始视频帧数据回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
dataIntPtr[]原始视频帧数据(例:RGBA 只需考虑 data[0],I420 需考虑 data[0,1,2])。
dataLengthuint[]数据的长度(例:RGBA 只需考虑 dataLength[0],I420 需考虑 dataLength[0,1,2])。
paramZegoVideoFrameParam视频帧参数。
flipModeZegoVideoFlipMode视频帧翻转模式。
channelZegoPublishChannel推流通道。

详情

使用自定义视频渲染时,SDK 回调本地预览采集的原始视频帧数据,由开发者自行渲染。

  • 业务场景:使用了跨平台界面框架或游戏引擎;需要获取 SDK 采集或拉流的视频帧数据进行特殊处理。
  • 通知时机:开启本地预览后,SDK 采集到本地预览视频帧数据时。
  • 相关接口:可调用 [setCustomVideoRenderHandler] 设置自定义视频渲染回调。
  • 支持版本:1.1.0 及以上。

OnRemoteVideoFrameRawData

OnRemoteVideoFrameRawData
public delegate void OnRemoteVideoFrameRawData(IntPtr[] data,uint[] dataLength,ZegoVideoFrameParam param,string streamID)
开启自定义视频渲染时,远端拉流原始视频帧数据回调,通过 streamID 区分不同的流。
Declared in IZegoEventHandler.cs

参数

名称类型描述
dataIntPtr[]原始视频帧数据(例:RGBA 只需考虑 data[0],I420 需考虑 data[0,1,2])。
dataLengthuint[]数据的长度(例:RGBA 只需考虑 dataLength[0],I420 需考虑 dataLength[0,1,2])。
paramZegoVideoFrameParam视频帧参数。
streamIDstring拉流的流 ID。

详情

开启自定义视频渲染时,SDK 回调远端拉流原始视频帧数据,通过 streamID 区分不同的流,由开发者自行渲染。

  • 业务场景:使用了跨平台界面框架或游戏引擎;需要获取 SDK 采集或拉流的视频帧数据进行特殊处理。
  • 通知时机:开始拉流后,SDK 收到远端拉流视频帧数据时。
  • 相关接口:可调用 [setCustomVideoRenderHandler] 设置自定义视频渲染回调。
  • 支持版本:1.1.0 及以上。

OnCapturedAudioData

OnCapturedAudioData
public delegate void OnCapturedAudioData(IntPtr data,uint dataLength,ZegoAudioFrameParam param)
获取本地麦克风采集到的音频数据的回调.
Declared in IZegoEventHandler.cs

参数

名称类型描述
dataIntPtrPCM 格式的音频数据。
dataLengthuint数据的长度。
paramZegoAudioFrameParam音频帧参数。

详情

在非自定义采集模式下,SDK 会负责麦克风的声音采集工作,但是开发者可能也需要拿到 SDK 采集到的音源数据,通过这个回调可以获取。

  • 通知时机:在调用 [setAudioDataHandler] 设置了监听本回调的前提下,调用 [startAudioDataObserver] 设置了掩码 0b01 即 1 << 0 之后, 且处于推流状态才会触发此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

OnPlaybackAudioData

OnPlaybackAudioData
public delegate void OnPlaybackAudioData(IntPtr data,uint dataLength,ZegoAudioFrameParam param)
获取 SDK 播放的音频数据的回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
dataIntPtrPCM 格式的音频数据。
dataLengthuint数据的长度。
paramZegoAudioFrameParam音频帧参数。

详情

此函数会回调全部要播放的音频混合后的数据。如果需开发者需要对全部要播放的音频混合后的数据进行处理,就可以用这个回调。

  • 通知时机:在调用 [setAudioDataHandler] 设置了监听本回调的前提下,调用 [startAudioDataObserver] 设置了掩码 0b10 即 1 << 1 之后, 且处于 SDK 音视频引擎启动时(预览/推流/拉流)才会触发此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:播放版权音乐时,该回调会被默认禁用,若有需要,请联系 ZEGO 技术支持。不适用于 WebGL。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作,在非拉流状态的引擎启动状态且未使用媒体播放器播放媒体文件状态时,回调的音频数据是静音的音频数据。

OnMixedAudioData

OnMixedAudioData
public delegate void OnMixedAudioData(IntPtr data,uint dataLength,ZegoAudioFrameParam param)
获取 SDK 播放的音频数据和本地麦克风采集到的音频数据的回调,该音频数据是经过 SDK 混合之后的数据。
Declared in IZegoEventHandler.cs

参数

名称类型描述
dataIntPtrPCM 格式的音频数据。
dataLengthuint数据的长度。
paramZegoAudioFrameParam音频帧参数。

详情

SDK 播放的音频数据与本地麦克风采集到的数据在送到扬声器之前进行混合,并通过此函数回调出来。

  • 通知时机:在调用 [setAudioDataHandler] 设置了监听本回调的前提下,调用 [startAudioDataObserver] 设置了掩码 0x04 之后, 且处于推流或拉流状态才会触发此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:播放版权音乐时,该回调会被默认禁用,若有需要,请联系 ZEGO 技术支持。不适用于 WebGL。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

OnPlayerAudioData

OnPlayerAudioData
public delegate void OnPlayerAudioData(IntPtr data,uint dataLength,ZegoAudioFrameParam param,string streamID)
获取 SDK 每条拉流的音频数据的回调。
Declared in IZegoEventHandler.cs

参数

名称类型描述
dataIntPtrPCM 格式的音频数据。
dataLengthuint数据的长度。
paramZegoAudioFrameParam音频帧参数。
streamIDstring对应的流 ID。

详情

此函数会回调每条拉流单独对应的数据,不同于[onPlaybackAudioData],后者是所有拉流的混合数据。如果开发者需要对某条拉流的数据单独进行处理,就可以用这个回调。

  • 通知时机:在调用 [setAudioDataHandler] 设置了监听本回调的前提下,调用 [startAudioDataObserver] 设置了掩码 0x08 即 1 << 3 之后, 且处于 SDK 音视频引擎启动拉流时才会触发此回调。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

OnMobileScreenCaptureExceptionOccurred

OnMobileScreenCaptureExceptionOccurred
public delegate void OnMobileScreenCaptureExceptionOccurred(ZegoScreenCaptureExceptionType exceptionType)
屏幕采集异常通知。
Declared in IZegoEventHandler.cs

参数

名称类型描述
exceptionTypeZegoScreenCaptureExceptionType采集源异常类型。

详情

移动端屏幕采集错误通知。

  • 通知时机:移动端屏幕开始采集后产生异常会触发此回调。
  • 支持版本:3.6.0 及以上。
  • 使用限制:仅对 Android 和 iOS 系统生效。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

IZegoMediaPlayerHandler

Declared in IZegoMediaPlayerHandler.cs

方法

OnMediaPlayerStateUpdate

OnMediaPlayerStateUpdate
public delegate void OnMediaPlayerStateUpdate(ZegoMediaPlayer mediaPlayer,ZegoMediaPlayerState state,int errorCode)
媒体播放器播放状态回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
stateZegoMediaPlayerState播放器状态。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

媒体播放器播放状态回调。

  • 通知时机:当媒体播放器的播放状态改变时会触发此回调。
  • 支持版本:1.3.4 及以上。
  • 使用限制:无。

OnMediaPlayerNetworkEvent

OnMediaPlayerNetworkEvent
public delegate void OnMediaPlayerNetworkEvent(ZegoMediaPlayer mediaPlayer,ZegoMediaPlayerNetworkEvent networkEvent)
媒体播放器网络状态事件回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
networkEventZegoMediaPlayerNetworkEvent网络状态事件。

详情

媒体播放器网络状态事件回调。

  • 通知时机:当媒体播放器在播放网络资源时,当缓存数据的状态改变时会触发此回调。
  • 相关接口:[setNetWorkBufferThreshold]。
  • 支持版本:1.3.4 及以上。
  • 使用限制:只有在播放网络资源时才会触发该回调。不适用于 WebGL。

OnMediaPlayerPlayingProgress

OnMediaPlayerPlayingProgress
public delegate void OnMediaPlayerPlayingProgress(ZegoMediaPlayer mediaPlayer,ulong millisecond)
播放器播放进度回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
millisecondulong进度,单位为毫秒。

详情

媒体播放器播放进度回调。通过调用 [setProgressInterval] 可以设置回调间隔时间。当设置回调间隔为 0 时,停止回调。默认回调间隔为 1 秒。

  • 通知时机:当媒体播放器开始播放资源后会触发此回调。
  • 相关接口:[setProgressInterval]。
  • 支持版本:1.3.4 及以上。
  • 使用限制:无。

OnMediaPlayerRenderingProgress

OnMediaPlayerRenderingProgress
public delegate void OnMediaPlayerRenderingProgress(ZegoMediaPlayer mediaPlayer,ulong millisecond)
播放器渲染进度回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
millisecondulong进度,单位为毫秒。

详情

媒体播放器渲染进度回调。通过调用 [setProgressInterval] 可以设置回调间隔时间。当设置回调间隔为 0 时,停止回调。默认回调间隔为 1 秒。

  • 通知时机:当媒体播放器开始播放资源后会触发此回调。
  • 相关接口:[setProgressInterval]。
  • 支持版本:3.8.0 及以上。
  • 使用限制:不适用于 WebGL。

OnMediaPlayerRecvSEI

OnMediaPlayerRecvSEI
public delegate void OnMediaPlayerRecvSEI(ZegoMediaPlayer mediaPlayer,List<byte> data)
媒体次要信息回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
dataList<byte>SEI 内容。

详情

媒体次要信息回调。

  • 通知时机:媒体播放器开始播放媒体文件时,如果解析到媒体文件中含有 SEI 时,将触发该回调。
  • 支持版本:2.2.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

OnMediaPlayerSoundLevelUpdate

OnMediaPlayerSoundLevelUpdate
public delegate void OnMediaPlayerSoundLevelUpdate(ZegoMediaPlayer mediaPlayer,float soundLevel)
声浪更新回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
soundLevelfloat声浪值,取值范围:[0.0, 100.0](该取值仅表示回调的声浪取值范围,不表示精度)。

详情

声浪更新回调。

  • 通知时机:回调频率由 [EnableSoundLevelMonitor] 指定。
  • 相关接口:监听此回调需要通过 [EnableSoundLevelMonitor] 开启。
  • 支持版本:2.15.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

OnMediaPlayerFrequencySpectrumUpdate

OnMediaPlayerFrequencySpectrumUpdate
public delegate void OnMediaPlayerFrequencySpectrumUpdate(ZegoMediaPlayer mediaPlayer,List<float> spectrumList)
频谱更新回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
spectrumListList<float>媒体播放器频谱值数组,频谱值范围为 [0-2^30]。

详情

频谱更新回调。

  • 通知时机:回调频率由 [EnableFrequencySpectrumMonitor] 指定。
  • 相关接口:监听此回调需要通过 [EnableFrequencySpectrumMonitor] 开启。
  • 支持版本:2.15.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

OnMediaPlayerLocalCache

OnMediaPlayerLocalCache
public delegate void OnMediaPlayerLocalCache(ZegoMediaPlayer mediaPlayer,int errorCode,string resource,string cachedFile)
媒体播放器本地缓存 http/https 网络资源后回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
errorCodeint错误码。
resourcestring播放的资源
cachedFilestring缓存的文件

详情

本地缓存 http/https 网络资源后回调。

  • 通知时机:媒体播放器缓存 http/https 网络资源后会产生此回调。
  • 相关接口:需要调用 [enableLocalCache] 接口。
  • 支持版本:3.12.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用 [enableLocalCache] 接口设置后,且播放的是 http/https 网络资源时该回调才生效。

OnVideoFrame

OnVideoFrame
public delegate void OnVideoFrame(ZegoMediaPlayer mediaPlayer,IntPtr[] data,uint[] dataLength,ZegoVideoFrameParam param,string extraInfo)
播放器抛视频数据的回调,带视频帧附加信息。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
dataIntPtr[]视频帧的裸数据(例:RGBA 只需考虑 data[0],I420 需考虑 data[0,1,2])。
dataLengthuint[]数据的长度(例:RGBA 只需考虑 dataLength[0],I420 需考虑 dataLength[0,1,2])。
paramZegoVideoFrameParam视频帧参数。
extraInfostring视频帧附加信息。

详情

播放器抛视频数据的回调。

  • 通知时机:媒体播放器开始播放时会产生此回调。
  • 支持版本:2.16.0 及以上。
  • 使用限制:播放版权音乐时,该回调会被默认禁用,若有需要,请联系 ZEGO 技术支持。
  • 注意事项:调用接口 [setVideoHandler] 设置后该回调才生效。

OnAudioFrame

OnAudioFrame
public delegate void OnAudioFrame(ZegoMediaPlayer mediaPlayer,IntPtr data,uint dataLength,ZegoAudioFrameParam param)
播放器抛音频数据的回调。
Declared in IZegoMediaPlayerHandler.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer回调的播放器实例。
dataIntPtr音频频帧的裸数据。
dataLengthuint数据的长度。
paramZegoAudioFrameParam音频帧参数。

详情

播放器抛音频数据的回调。

  • 通知时机:媒体播放器开始播放时会产生此回调。
  • 支持版本:1.3.4 及以上。
  • 使用限制:播放版权音乐时,该回调会被默认禁用,若有需要,请联系 ZEGO 技术支持。
  • 注意事项:调用接口 [setAudioHandler] 设置后该回调才生效。

IZegoRangeAudioHandler

Declared in IZegoRangeAudioHandler.cs

方法

OnRangeAudioMicrophoneStateUpdate

OnRangeAudioMicrophoneStateUpdate
public delegate void OnRangeAudioMicrophoneStateUpdate(ZegoRangeAudio rangeAudio,ZegoRangeAudioMicrophoneState state,int errorCode)
范围语音麦克风使用状态回调。
Declared in IZegoRangeAudioHandler.cs

参数

名称类型描述
rangeAudioZegoRangeAudio触发此次回调的范围语音实例。
stateZegoRangeAudioMicrophoneState麦克风使用状态。
errorCodeint错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

麦克风的状态变化通知,开启发送音频是异步过程,中间的状态切换都通过该函数回调。

  • 通知时机:在 [enableMicrophone] 函数后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:1. 必须在 [enableMicrophone] 函数调用前监听。 2. 正常停止 [enableMicrophone] 时,是不会触发该回调的,只有异常停推的时候才会触发 Off 的状态。

IZegoRangeSceneEventHandler

Declared in IZegoRangeSceneEventHandler.cs

方法

OnSceneStateUpdate

OnSceneStateUpdate
public delegate void OnSceneStateUpdate(ZegoRangeScene rangeScene,ZegoSceneState state,int errorCode)
场景状态变化通知
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
stateZegoSceneState当前场景状态。
errorCodeint错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

详情

场景状态变化通知。

  • 通知时机:场景状态变化。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnEnterView

OnEnterView
public delegate void OnEnterView(ZegoRangeScene rangeScene,ZegoUser user,ZegoPosition position)
其他用户进入当前用户视野范围回调。
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userZegoUser用户对象。
positionZegoPosition用户位置。

详情

其他用户进入当前用户视野范围回调。

  • 通知时机:其他用户进入当前用户视野范围。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnLeaveView

OnLeaveView
public delegate void OnLeaveView(ZegoRangeScene rangeScene,string userID)
其他用户离开当前用户视野范围回调通知。
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。

详情

其他用户离开当前用户视野范围回调通知。

  • 通知时机:其他用户离开当前用户视野范围。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnUserStatusUpdate

OnUserStatusUpdate
public delegate void OnUserStatusUpdate(ZegoRangeScene rangeScene,string userID,ZegoPosition position,uint channel,byte[] status)
用户状态变更回调。
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。
positionZegoPosition用户当前位置。
channeluint状态所属通道。
statusbyte[]用户当前状态数据。

详情

用户状态变更回调。

  • 通知时机:用户状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

OnUserCommandUpdate

OnUserCommandUpdate
public delegate void OnUserCommandUpdate(ZegoRangeScene rangeScene,string userID,ZegoPosition position,uint channel,byte[] command)
用户指令变更回调。
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。
positionZegoPosition用户当前位置。
channeluint指令所属通道。
commandbyte[]用户下一步命令数据。

详情

用户指令变更回调。

  • 通知时机:用户指令变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。
  • 注意事项:本回调为高频回调,请勿在本回调中做耗时操作。

OnCustomCommandUpdate

OnCustomCommandUpdate
public delegate void OnCustomCommandUpdate(ZegoRangeScene rangeScene,byte[] command)
用户自定义信令变更回调。
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
commandbyte[]用户自定义信令。

详情

用户自定义信令变更回调。

  • 通知时机:用户自定义信令变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnSceneTokenWillExpire

OnSceneTokenWillExpire
public delegate void OnSceneTokenWillExpire(ZegoRangeScene rangeScene,int remainTimeInSecond)
场景 Token 鉴权将要过期的回调通知。
Declared in IZegoRangeSceneEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
remainTimeInSecondinttoken 过期前的剩余时间。

详情

场景 Token 鉴权将要过期的回调通知,请用户通过 [renewToken] 函数更新场景 Token 鉴权。

  • 通知时机:在 Token 过期前 30 秒,SDK 会通过 [onSceneTokenWillExpire] 回调发出通知。
  • 相关接口:当开发者收到此回调后,可通过 [renewToken] 来更新 Token 鉴权信息。
  • 支持版本:3.1.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

IZegoRangeSceneStreamEventHandler

Declared in IZegoRangeSceneStreamEventHandler.cs

方法

OnUserStreamStateUpdate

OnUserStreamStateUpdate
public delegate void OnUserStreamStateUpdate(ZegoRangeScene rangeScene,string userID,string streamID,ZegoStreamState state)
本端拉其他用户的流状态变更回调通知。
Declared in IZegoRangeSceneStreamEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。
streamIDstring用户流 ID。
stateZegoStreamState用户流状态。

详情

本端拉其他用户的流状态变更回调通知。

  • 通知时机:本端拉其他用户的流状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnUserMicUpdate

OnUserMicUpdate
public delegate void OnUserMicUpdate(ZegoRangeScene rangeScene,string userID,ZegoDeviceState state)
用户麦克风状态变更回调。
Declared in IZegoRangeSceneStreamEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。
stateZegoDeviceState设备状态。

详情

用户麦克风状态变更回调。

  • 通知时机:用户麦克风状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnUserCameraUpdate

OnUserCameraUpdate
public delegate void OnUserCameraUpdate(ZegoRangeScene rangeScene,string userID,ZegoDeviceState state)
用户摄像头状态变更回调。
Declared in IZegoRangeSceneStreamEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。
stateZegoDeviceState设备状态。

详情

用户摄像头状态变更回调。

  • 通知时机:用户摄像头状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

OnUserSpeakerUpdate

OnUserSpeakerUpdate
public delegate void OnUserSpeakerUpdate(ZegoRangeScene rangeScene,string userID,ZegoDeviceState state)
用户扬声器状态变更回调。
Declared in IZegoRangeSceneStreamEventHandler.cs

参数

名称类型描述
rangeSceneZegoRangeScene触发此次回调的范围场景实例。
userIDstring用户 ID。
stateZegoDeviceState设备状态。

详情

用户扬声器状态变更回调。

  • 通知时机:用户扬声器状态变更。
  • 支持版本:3.0.0 及以上。
  • 使用限制:请勿在回调线程中调用 SDK 接口。不适用于 WebGL。

IZegoRealTimeSequentialDataManagerHandler

Declared in IZegoRealTimeSequentialDataManagerHandler.cs

方法

OnReceiveRealTimeSequentialData

OnReceiveRealTimeSequentialData
public delegate void OnReceiveRealTimeSequentialData(ZegoRealTimeSequentialDataManager manager,IntPtr data,uint dataLength,string streamID)
收到实时有序数据回调
Declared in IZegoRealTimeSequentialDataManagerHandler.cs

参数

名称类型描述
managerZegoRealTimeSequentialDataManager触发此次回调的实时有序数据管理器实例。
dataIntPtr收到的实时有序数据数据。
dataLengthuint数据内容长度
streamIDstring订阅的流 ID

详情

可通过此回调收到当前订阅中的流发来的实时有序数据。

  • 业务场景:当需要接收实时有序数据时需要监听此函数。 回调时机:调用了 [startSubscribing] 成功开始订阅后,且流上面发来数据时,会触发此回调。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无

IZegoScreenCaptureSourceEventHandler

Declared in IZegoScreenCaptureSourceEventHandler.cs

方法

OnAvailableFrame

OnAvailableFrame
public delegate void OnAvailableFrame(ZegoScreenCaptureSource source,System.IntPtr data,uint dataLength,ZegoVideoFrameParam param)
屏幕采集数据的回调
Declared in IZegoScreenCaptureSourceEventHandler.cs

参数

名称类型描述
sourceZegoScreenCaptureSource回调的屏幕采集源实例。
dataSystem.IntPtr屏幕采集图像帧的裸数据(例:RGBA 只需考虑 data[0],I420 需考虑 data[0,1,2])。
dataLengthuint数据的长度(例:RGBA 只需考虑 dataLength[0],I420 需考虑 dataLength[0,1,2])。
paramZegoVideoFrameParam屏幕采集图像帧参数。

详情

屏幕采集数据的回调。

  • 通知时机:屏幕开始采集 [startCapture] 后会触发此回调。
  • 支持版本:3.1.0 及以上。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

OnExceptionOccurred

OnExceptionOccurred
public delegate void OnExceptionOccurred(ZegoScreenCaptureSource source,ZegoScreenCaptureSourceExceptionType exceptionType)
屏幕采集异常通知
Declared in IZegoScreenCaptureSourceEventHandler.cs

参数

名称类型描述
sourceZegoScreenCaptureSource回调的屏幕采集源实例。
exceptionTypeZegoScreenCaptureSourceExceptionType采集源异常类型。

详情

屏幕采集错误通知。

  • 通知时机:屏幕开始采集后产生异常会触发此回调。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS。
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

OnWindowStateChanged

OnWindowStateChanged
public delegate void OnWindowStateChanged(ZegoScreenCaptureSource source,ZegoScreenCaptureWindowState windowState,ZegoRect windowRect)
采集目标窗口状态发生改变。
Declared in IZegoScreenCaptureSourceEventHandler.cs

参数

名称类型描述
sourceZegoScreenCaptureSource回调的屏幕采集源实例。
windowStateZegoScreenCaptureWindowState采集的窗口状态。
windowRectZegoRect采集的窗口矩形。
  • 支持版本:3.4.0 及以上。
  • 使用限制:只适用于 Windows/macOS
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

OnRectChanged

OnRectChanged
public delegate void OnRectChanged(ZegoScreenCaptureSource source,ZegoRect captureRect)
采集区域发生改变。
Declared in IZegoScreenCaptureSourceEventHandler.cs

参数

名称类型描述
sourceZegoScreenCaptureSource回调的屏幕采集源实例。
captureRectZegoRect采集的区域矩形。
  • 支持版本:3.7.0 及以上。
  • 使用限制:只适用于 Windows/macOS
  • 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。

ZegoAudioEffectPlayer

Declared in ZegoAudioEffectPlayer.cs

方法

Start

Start
public abstract void Start(uint audioEffectID,string path,ZegoAudioEffectPlayConfig config)
开始播放音效。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。SDK 内部使用 audioEffectID 进行音效的播放控制,SDK 不强制用户以固定形式的值传入该参数,最好保证每个音效可以有唯一的 ID,推荐的方式有静态自增 ID 和传入音效文件路径的 hash 两种方式。
pathstring音效资源的路径。<br>取值范围:目前仅支持播放本地文件,不支持 "assets://"、"ipod-library://" 和网络资源等。如果之前使用 [loadResource] 预先加载了音效,可传入 null 或 ""。
configZegoAudioEffectPlayConfig音效播放配置。<br>默认值:传空则仅播放一次,且不会混音入推流中。

详情

开始播放音效,默认仅播放一次,且不会将音效混入推流中,如需修改请配置 [config] 参数。

  • 业务场景:当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用该接口实现,进一步通过 [config] 参数配置播放次数,将音效混入推流中。
  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

Stop

Stop
public abstract void Stop(uint audioEffectID)
停止播放音效。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。

详情

停止播放指定的音效 [audioEffectID]。

  • 调用时机:指定的 [audioEffectID] 已经 [start] 。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

Pause

Pause
public abstract void Pause(uint audioEffectID)
暂停播放音效。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。

详情

暂停播放指定的音效 [audioEffectID]。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

Resume

Resume
public abstract void Resume(uint audioEffectID)
恢复播放音效。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。

详情

恢复播放指定的音效 [audioEffectID]。

  • 调用时机:指定的 [audioEffectID] 处于 [pause] 状态。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

StopAll

StopAll
public abstract void StopAll()
停止播放所有音效。
Declared in ZegoAudioEffectPlayer.cs

停止播放所有音效。

  • 调用时机:正在播放音效。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

PauseAll

PauseAll
public abstract void PauseAll()
暂停播放所有音效。
Declared in ZegoAudioEffectPlayer.cs

暂停播放所有音效。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

ResumeAll

ResumeAll
public abstract void ResumeAll()
恢复播放所有音效。
Declared in ZegoAudioEffectPlayer.cs

恢复播放所有音效。

  • 调用时机:在 [pauseAll] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

SeekTo

SeekTo
public abstract void SeekTo(uint audioEffectID,ulong millisecond,OnAudioEffectPlayerSeekToCallback callback)
设置播放进度。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。
millisecondulong指定的播放进度的时间点。
callbackOnAudioEffectPlayerSeekToCallback指定播放进度结果。

详情

设置指定音效的播放进度,单位为毫秒。

  • 调用时机:指定的 [audioEffectID] 已经 [start],且还没有播完。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

SetVolume

SetVolume
public abstract void SetVolume(uint audioEffectID,int volume)
设置单个音效的播放音量,会同时设置本地播放音量和推流音量。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。

详情

设置指定音效的播放音量,会同时设置本地播放音量和推流音量。

  • 调用时机:指定的 [audioEffectID] 已经 [start]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

SetVolumeAll

SetVolumeAll
public abstract void SetVolumeAll(int volume)
设置所有音效的播放音量,会同时设置本地播放音量和推流音量。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
volumeint音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。

详情

设置所有音效的播放音量,会同时设置本地播放音量和推流音量。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

GetTotalDuration

GetTotalDuration
public abstract ulong GetTotalDuration(uint audioEffectID)
获取指定音效资源的总长度。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。

详情

获取指定音效资源的总长度,单位为毫秒。

  • 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。
  • 相关接口:[start],[loadResource]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:在 [createAudioEffectPlayer] 之后可调用。

返回值

单位为毫秒。

GetCurrentProgress

GetCurrentProgress
public abstract ulong GetCurrentProgress(uint audioEffectID)
获取当前播放进度。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。

详情

获取指定音效的当前播放进度。单位为毫秒。

  • 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。
  • 相关接口:[start],[loadResource]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

LoadResource

LoadResource
public abstract void LoadResource(uint audioEffectID,OnAudioEffectPlayerLoadResourceCallback onAudioEffectPlayerLoadResourceCallback,string path)
加载音效资源。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。
onAudioEffectPlayerLoadResourceCallbackOnAudioEffectPlayerLoadResourceCallback加载音效资源结果回调。
pathstring音效资源路径,不能传入 nil 或 ""。<br>取值范围:目前仅支持播放本地文件,不支持 "assets://"、"ipod-library://" 和网络资源等。

详情

加载音效资源。

  • 业务场景:在频繁播放相同音效场景中,SDK 为了优化重复读文件并解码的性能,提供了预加载音效文件到内存中的功能。
  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:预加载支持最多同时加载 15 个音效文件,并且音效文件时长不能超过 30s,否则加载会报错。不适用于 WebGL。

UnloadResource

UnloadResource
public abstract void UnloadResource(uint audioEffectID)
卸载音效资源。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。

详情

卸载指定音效的音效资源。

  • 调用时机:在音效使用完毕之后,可以通过此函数释放相关资源;否则 SDK 将在 AudioEffectPlayer 实例销毁时释放加载的资源。
  • 相关接口:[loadResource]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:不适用于 WebGL。

UpdatePosition

UpdatePosition
public abstract void UpdatePosition(uint audioEffectID,float[] position)
更新音效播放器(音频源)位置。
Declared in ZegoAudioEffectPlayer.cs

参数

名称类型描述
audioEffectIDuint音效资源的 ID。
positionfloat[]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组。

详情

更新音效播放器(音频源)位置。。

  • 业务场景:音效播放器也需要有 3D 空间音效。
  • 调用时机:监听[onAudioEffectPlayStateUpdate]回调,请在播放状态为ZegoAudioEffectPlayState.Playing之后ZegoAudioEffectPlayState.NoPlay/PlayEnded之前调用该接口。
  • 支持版本:3.6.0 及以上。
  • 使用限制:此接口需要与 RangeAudio/RangeScene 模块配合使用,RangeAudio/RangeScene 模块开启 3D 音效后,此接口才能调用成功。不适用于 WebGL。

GetIndex

GetIndex
public abstract int GetIndex()
获取音效播放器索引。
Declared in ZegoAudioEffectPlayer.cs

获取音效播放器索引。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 支持版本:1.16.0 及以上。
  • 使用限制:无。

音效播放器索引。

ZegoCopyrightedMusic

Declared in ZegoCopyrightedMusic.cs

方法

InitCopyrightedMusic

InitCopyrightedMusic
public abstract void InitCopyrightedMusic(ZegoCopyrightedMusicConfig config,OnCopyrightedMusicInitCallback callback)
初始化版权音乐模块。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicConfig版权音乐配置。
callbackOnCopyrightedMusicInitCallback初始化结果

详情

初始化版权音乐,以便后续使用版权音乐的功能。

  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 和登录房间 [loginRoom] 之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:1. 必须传入真实用户信息,否则无法获取歌曲资源进行播放。2. 初始化版权音乐时设置的用户 ID 和用户名需要和登录房间时设置的用户 ID 和用户名一致。

GetCacheSize

GetCacheSize
public abstract ulong GetCacheSize()
获取缓存大小。
Declared in ZegoCopyrightedMusic.cs

在使用本模块时,可能产生一些缓存文件,可以通过本接口获取缓存文件的大小。

  • 业务场景:用于展示 App 的缓存大小。
  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 之后。
  • 支持版本:2.13.0 及以上。
  • 使用限制:不适用于 WebGL。

缓存文件大小,单位 byte。

ClearCache

ClearCache
public abstract void ClearCache()
清除缓存。
Declared in ZegoCopyrightedMusic.cs

在使用本模块时,可能产生一些缓存文件,可以通过本接口进行清除。

  • 业务场景:用于清除 App 的缓存。
  • 调用时机:在创建版权音乐 [createCopyrightedMusic] 之后。
  • 支持版本:2.13.0 及以上。

SendExtendedRequest

SendExtendedRequest
public abstract void SendExtendedRequest(string command,string param,OnCopyrightedMusicSendExtendedRequestCallback callback)
发送扩展功能请求。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
commandstring请求命令,具体支持的命令请参考 https://doc-zh.zego.im/article/15077
paramstring请求参数,每个请求命令具备对应的请求参数,请参考 https://doc-zh.zego.im/article/15077
callbackOnCopyrightedMusicSendExtendedRequestCallback发送扩展功能请求结果

详情

发送扩展功能请求,访问版权歌曲库获取相关歌单、榜单歌曲信息。

  • 业务场景:用于获取歌曲列表。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。

GetLrcLyric

GetLrcLyric
public abstract void GetLrcLyric(string songID,ZegoCopyrightedMusicVendorID vendorID,OnCopyrightedMusicGetLrcLyricCallback callback)
获取 lrc 格式歌词。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
songIDstring歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
vendorIDZegoCopyrightedMusicVendorID版权方。
callbackOnCopyrightedMusicGetLrcLyricCallback获取 lrc 格式歌词结果

详情

获取 lrc 格式歌词,支持逐行解析歌词。

  • 业务场景:用于逐行显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.2.1 及以上。

GetLrcLyric

GetLrcLyric
public abstract void GetLrcLyric(ZegoCopyrightedMusicGetLyricConfig config,OnCopyrightedMusicGetLrcLyricCallback callback)
获取 lrc 格式歌词。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicGetLyricConfig获取歌词的配置。
callbackOnCopyrightedMusicGetLrcLyricCallback获取 lrc 格式歌词结果

详情

获取 lrc 格式歌词,支持逐行解析歌词。

  • 业务场景:用于逐行显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.12.0 及以上。

GetKrcLyricByToken

GetKrcLyricByToken
public abstract void GetKrcLyricByToken(string krcToken,OnCopyrightedMusicGetKrcLyricByTokenCallback callback)
获取逐字歌词。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
krcTokenstring通过调用 [requestResource] 点伴奏或点高潮片段、或调用 [getSharedResource] 接口获取分享资源时获取的 krcToken。详情请参考 https://doc-zh.zego.im/article/15079#2_2
callbackOnCopyrightedMusicGetKrcLyricByTokenCallback获取逐字格式歌词结果。

详情

获取逐字歌词,支持逐字解析歌词。

  • 业务场景:用于逐字显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。

RequestResource

RequestResource
获取音乐资源。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig获取音乐资源的配置。
typeZegoCopyrightedMusicResourceType版权音乐资源类型。
callbackOnCopyrightedMusicRequestResourceCallback获取音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放与分享。
  • 相关接口:房间内某个用户调用此接口获取某音乐资源成功后,房间内其他用户可以调用 [getSharedResource] 接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.0.2 及以上。
  • 注意事项: 1. 每个资源有唯一的资源 ID。 2. 每调用一次此接口,都会触发一次计费,详情请咨询 ZEGO 商务人员。 3. 调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

RequestResource

RequestResource
public abstract void RequestResource(ZegoCopyrightedMusicRequestConfigV2 config,OnCopyrightedMusicRequestResourceCallback callback)
获取音乐资源。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicRequestConfigV2获取音乐资源的配置。
callbackOnCopyrightedMusicRequestResourceCallback获取音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放与分享。
  • 相关接口:房间内某个用户调用此接口获取某音乐资源成功后,房间内其他用户可以调用 [getSharedResource] 接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.12.0 及以上。
  • 注意事项: 1. 每个资源有唯一的资源 ID。 2. 每调用一次此接口,都会触发一次计费,详情请咨询 ZEGO 商务人员。 3. 调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

GetSharedResource

GetSharedResource
获取分享歌曲资源。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicGetSharedConfig获取分享歌曲资源的配置。
typeZegoCopyrightedMusicResourceType版权音乐资源类型。
callbackOnCopyrightedMusicGetSharedResourceCallback获取分享音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放。
  • 相关接口:房间内某个用户调用 [requestResource] 接口获取某音乐资源成功后,房间内其他用户可以调用此接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.0.2 及以上。
  • 注意事项:每个资源有唯一的资源 ID。调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

GetSharedResource

GetSharedResource
public abstract void GetSharedResource(ZegoCopyrightedMusicGetSharedConfigV2 config,OnCopyrightedMusicGetSharedResourceCallback callback)
获取分享歌曲资源。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicGetSharedConfigV2获取分享歌曲资源的配置。
callbackOnCopyrightedMusicGetSharedResourceCallback获取分享音乐资源结果回调。

详情

可以获取到歌曲的基本信息(时长、歌名、歌手等),以及最重要的可以用于本地播放的资源 id,还有相关的一些鉴权信息。

  • 业务场景:获取版权歌曲,用于本地播放。
  • 相关接口:房间内某个用户调用 [requestResource] 接口获取某音乐资源成功后,房间内其他用户可以调用此接口免费获取一次该音乐资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 之后。
  • 支持版本:3.12.0 及以上。
  • 注意事项:每个资源有唯一的资源 ID。调用本接口获取到的资源,具有时效性,有效时长为 “SDK 初始化生命周期结束” 与 “24 小时资源有效期” 两者之间的最小值。

Download

Download
public abstract void Download(string resourceID,OnCopyrightedMusicDownloadCallback callback)
下载音乐资源。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring歌曲或伴奏对应的资源 ID。
callbackOnCopyrightedMusicDownloadCallback下载载歌曲或伴奏结果。

详情

下载音乐资源,下载成功后才能进行播放。

  • 业务场景:获取音乐资源授权后,利用本接口下载对应的资源。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:下载版权音乐资源受网络影响。

CancelDownload

CancelDownload
public abstract void CancelDownload(string resourceID)
取消下载音乐资源。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring歌曲或伴奏对应的资源 ID。

详情

取消下载音乐资源。

  • 业务场景:当开始下载音乐资源后,利用本接口取消对应的下载任务。
  • 调用时机:在开始下载 [download] 之后。
  • 支持版本:3.11.0 及以上。
  • 注意事项:当传入有效的 resourceID 时, 只会取消未完成的下载任务, 当传入空字符串时, 取消所有未完成的下载任务。

QueryCache

QueryCache
public abstract bool QueryCache(ZegoCopyrightedMusicQueryCacheConfig config)
查询资源是否有缓存。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicQueryCacheConfig查询资源缓存的配置。

详情

查询资源是否有缓存

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.9.0 及以上。

QueryCache

QueryCache
public abstract bool QueryCache(ZegoCopyrightedMusicQueryCacheConfigV2 config)
查询资源是否有缓存。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicQueryCacheConfigV2查询资源缓存的配置。

详情

查询资源是否有缓存

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.12.0 及以上。

GetDuration

GetDuration
public abstract ulong GetDuration(string resourceID)
获取歌曲或伴奏文件的播放时长。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring歌曲或伴奏对应的资源 ID。

详情

获取歌曲或伴奏文件的播放时长。

  • 业务场景:可以用于在视图上显示歌曲或伴奏的播放时长信息。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。

SetScoringLevel

SetScoringLevel
public abstract void SetScoringLevel(int level)
设置打分难度级别。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
levelint打分难度级别。level 取值范围 0 ~ 4。打分难度由 0 到 4 逐级递减。

详情

用户可以通过该接口设置打分难度级别。

  • 调用时机:调用 [initCopyrightedMusic] 初始化版权音乐成功后,调用 [startScore] 开始打分前。
  • 默认值:未调用该函数时,打分难度级别默认是 4。
  • 支持版本:2.22.0 及以上。
  • 注意事项:该方法不支持动态设置,调用该方法成功后,下一次调用 [startScore] 生效。

StartScore

StartScore
public abstract int StartScore(string resourceID,int pitchValueInterval)
开始评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。
pitchValueIntervalint实时音高线回调的时间间隔, 单位毫秒,默认 50 毫秒。

详情

开始评分后,将会根据设置的回调时间间隔,收到评分结果 [OnCurrentPitchValueUpdate] 回调。

  • 业务场景:可以用于在视图上显示唱歌评分。
  • 调用时机:在获取到逐字歌词,并播放版权音乐的伴奏资源之后可调用。
  • 支持版本:2.15.0 及以上。
  • 注意事项:目前仅支持在推流开始 [startPublishingStream] 后,才能开始打分。

PauseScore

PauseScore
public abstract int PauseScore(string resourceID)
暂停评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

暂停正在进行的评分,将停止 [OnCurrentPitchValueUpdate] 回调。

  • 业务场景:正在评分时可调用此接口暂停评分功能。
  • 调用时机:正在评分时可调用。
  • 支持版本:2.15.0 及以上。

ResumeScore

ResumeScore
public abstract int ResumeScore(string resourceID)
恢复评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

恢复当前暂停的评分。

  • 业务场景:当前有暂停的评分时可调用此接口恢复评分功能。
  • 调用时机:当前有暂停的评分时可调用。
  • 支持版本:2.15.0 及以上。

StopScore

StopScore
public abstract int StopScore(string resourceID)
结束评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

结束当前评分,将停止 [OnCurrentPitchValueUpdate] 回调,但依然可以正常获取平均分或总分。

  • 业务场景:正在评分时可调用此接口结束评分。
  • 调用时机:正在评分时可调用。
  • 支持版本:2.15.0 及以上。

ResetScore

ResetScore
public abstract int ResetScore(string resourceID)
重置评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

重置已经进行过的评分,将停止 [OnCurrentPitchValueUpdate] 回调,获取平均分或总分将为 0。

  • 业务场景:常用于重唱同一首歌的场景。
  • 调用时机:已经进行过评分后可以调用。
  • 支持版本:2.15.0 及以上。

GetPreviousScore

GetPreviousScore
public abstract int GetPreviousScore(string resourceID)
获取上一句的评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

返回值是获取上一句的评分。

  • 业务场景:可以用于在视图上显示每一句的评分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

GetAverageScore

GetAverageScore
public abstract int GetAverageScore(string resourceID)
获取平均评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

获取平均评分。

  • 业务场景:可以用于在视图上显示平均评分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

GetTotalScore

GetTotalScore
public abstract int GetTotalScore(string resourceID)
获取总评分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

获取总评分。

  • 业务场景:可以用于在视图上显示总评分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

GetFullScore

GetFullScore
public abstract int GetFullScore(string resourceID)
获取满分。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。

详情

获取满分。

  • 业务场景:可以用于在视图上显示满分。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:3.0.2 及以上。

GetStandardPitch

GetStandardPitch
public abstract void GetStandardPitch(string resourceID,OnCopyrightedMusicGetStandardPitchCallback callback)
获取标准音高数据。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring伴奏或高潮片段对应的资源 ID。
callbackOnCopyrightedMusicGetStandardPitchCallback获取标准音高数据结果。

详情

获取标准音高数据。

  • 业务场景:可以用于在视图上显示标准音高线。
  • 支持版本:2.15.0 及以上。
  • 注意事项:只有伴奏或高潮片段资源才有音高线。

GetCurrentPitch

GetCurrentPitch
public abstract int GetCurrentPitch(string resourceID)
获取实时音高数据。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
resourceIDstring歌曲或伴奏对应的资源 ID。

详情

获取实时音高数据。

  • 业务场景:可以用于在视图上显示实时音高线。
  • 调用时机:在播放版权伴奏或高潮片段,并开始打分后可调用。
  • 支持版本:2.15.0 及以上。

RequestSong

RequestSong
deprecated
public abstract void RequestSong(ZegoCopyrightedMusicRequestConfig config,OnCopyrightedMusicRequestSongCallback callback)
【已废弃】点歌。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig请求配置。
callbackOnCopyrightedMusicRequestSongCallback点歌结果

详情

点歌不仅可以获取到歌曲的基本信息(时长、歌名、歌手等),还可以用于本地播放的资源 ID 或用于分享给他人播放的 share_token,还有相关的一些鉴权信息。支持按次点歌方式。

  • 业务场景:获取版权歌曲,用于本地播放与分享。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:该接口会触发计费。一首歌曲可能存在普通、高清、无损三种音质,每种音质都有不同的资源文件,每个资源文件有唯一的资源 ID。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。

RequestAccompaniment

RequestAccompaniment
deprecated
public abstract void RequestAccompaniment(ZegoCopyrightedMusicRequestConfig config,OnCopyrightedMusicRequestAccompanimentCallback callback)
【已废弃】点伴奏。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig请求配置。
callbackOnCopyrightedMusicRequestAccompanimentCallback点伴奏结果。

详情

可以获取 songID 对应歌曲的伴奏资源,包括 resource_id、krc_token、share_token 等。支持按次点伴奏方式。

  • 业务场景:获取版权歌曲伴奏,用于本地播放与分享。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:该接口会触发计费。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。

RequestAccompanimentClip

RequestAccompanimentClip
deprecated
public abstract void RequestAccompanimentClip(ZegoCopyrightedMusicRequestConfig config,OnCopyrightedMusicRequestAccompanimentClipCallback callback)
【已废弃】点伴奏高潮片段。此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
configZegoCopyrightedMusicRequestConfig请求配置。
callbackOnCopyrightedMusicRequestAccompanimentClipCallback点伴奏高潮片段结果。

详情

可以获取 songID 对应歌曲的高潮片段资源,包括 resource_id、krc_token、share_token 等。支持按次点伴奏高潮片段方式。

  • 业务场景:获取版权歌曲伴奏高潮片段,用于本地播放与分享。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
  • 注意事项:该接口会触发计费。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [requestResource] 函数代替。

GetMusicByToken

GetMusicByToken
deprecated
public abstract void GetMusicByToken(string shareToken,OnCopyrightedMusicGetMusicByTokenCallback callback)
【已废弃】获取歌曲或伴奏。此函数在 3.0.2 版本及以上已废弃,请使用 [getSharedResource] 函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
shareTokenstring访问一首歌曲或伴奏的对应授权 token。
callbackOnCopyrightedMusicGetMusicByTokenCallback获取歌曲或伴奏结果。

详情

通过他人分享的歌曲或伴奏 token,获取对应的一首歌曲或伴奏。

  • 业务场景:在线 KTV 场景中,合唱者收到主唱分享的歌曲或伴奏 token 后,通过本接口获取对应的一首歌曲或伴奏,然后在本端进行播放。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
已废弃
此函数在 3.0.2 版本及以上已废弃,请使用 [getSharedResource] 函数代替。

GetLrcLyric

GetLrcLyric
deprecated
public abstract void GetLrcLyric(string songID,OnCopyrightedMusicGetLrcLyricCallback callback)
【已废弃】获取 lrc 格式歌词。此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
songIDstring歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
callbackOnCopyrightedMusicGetLrcLyricCallback获取 lrc 格式歌词结果

详情

获取 lrc 格式歌词,支持逐行解析歌词。

  • 业务场景:用于逐行显示歌词。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
已废弃
此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。

QueryCache

QueryCache
deprecated
public abstract bool QueryCache(string songID,ZegoCopyrightedMusicType type)
【已废弃】查询资源是否有缓存。此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
songIDstring歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
typeZegoCopyrightedMusicType歌曲资源类型。

详情

查询资源是否有缓存。

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:2.13.0 及以上。
已废弃
此函数在 3.2.1 版本及以上已废弃,请使用带 [vendorID] 参数的同名函数代替。

QueryCache

QueryCache
deprecated
public abstract bool QueryCache(string songID,ZegoCopyrightedMusicType type,ZegoCopyrightedMusicVendorID vendorID)
【已废弃】查询资源是否有缓存。此函数在 3.9.0 版本及以上已废弃,请使用带 [config] 参数的同名函数代替。
Declared in ZegoCopyrightedMusic.cs

参数

名称类型描述
songIDstring歌曲或伴奏的 ID,一首歌的歌曲和伴奏共用同一个 ID。
typeZegoCopyrightedMusicType歌曲资源类型。
vendorIDZegoCopyrightedMusicVendorID版权方。

详情

查询资源是否有缓存

  • 业务场景:可以用于在查询歌曲资源是否有缓存。
  • 调用时机:在初始化版权音乐 [initCopyrightedMusic] 成功之后。
  • 支持版本:3.2.1 及以上。
已废弃
此函数在 3.9.0 版本及以上已废弃,请使用带 [config] 参数的同名函数代替。

ZegoExpressEngine

Declared in ZegoExpressEngine.cs

方法

CreateEngine

static
CreateEngine
public static ZegoExpressEngine CreateEngine(ZegoEngineProfile profile)
创建 ZegoExpressEngine 单例对象并初始化 SDK。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
profileZegoEngineProfile用来创建引擎的基础配置信息。

详情

创建 ZegoExpressEngine 单例对象并初始化 SDK。

  • 调用时机:SDK 其他实例方法调用之前。
  • 支持版本:2.14.0 及以上。
  • 使用限制:无。
  • 注意事项:SDK 只支持创建一个实例,如需重复调用 [createEngine] ,则需在第二次调用 [createEngine] 前先调用 [destroyEngine] 函数销毁引擎,否则再次调用此函数返回的都是上次创建的对象。

返回值

引擎单例对象。

DestroyEngine

static
DestroyEngine
public static void DestroyEngine(IZegoDestroyCompletionCallback onDestroyCompletion)
销毁 ZegoExpressEngine 单例对象并反初始化 SDK。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
onDestroyCompletionIZegoDestroyCompletionCallback销毁引擎完成的通知回调,可监听此回调以确保设备硬件资源(麦克风、扬声器、摄像头等)被释放完成,若开发者不关注引擎资源的释放时机,该参数可传[null]。

详情

销毁 ZegoExpressEngine 单例对象并反初始化 SDK。

  • 调用时机:当不再使用 SDK 时,可以通过本接口释放 SDK 使用的资源。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:使用 [createEngine] 创建单例后,如果单例对象未被创建或已被销毁,调用此函数时,不会收到相关回调。

GetEngine

static
GetEngine
public static ZegoExpressEngine GetEngine()
获取引擎单例对象。
Declared in ZegoExpressEngine.cs

如果引擎尚未创建或已经销毁,则返回 [null]。

  • 调用时机:创建引擎之后,销毁引擎之前。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

引擎单例对象

SetEngineConfig

static
SetEngineConfig
public static void SetEngineConfig(ZegoEngineConfig config)
设置引擎进阶配置。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoEngineConfig引擎进阶配置

详情

用于开启进阶功能。

  • 调用时机:不同的配置有不同的调用时机要求,详情可咨询 ZEGO 技术支持。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

SetLogConfig

static
SetLogConfig
public static void SetLogConfig(ZegoLogConfig config)
设置日志配置。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoLogConfig日志配置。

详情

开发者当需要自定义日志文件大小和路径时,需要调用此函数来完成配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,若在 [createEngine] 之后设置,则在 [destroyEngine] 后的下一次 [createEngine] 时生效。
  • 支持版本:2.3.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:一旦调用了本接口,通过 [setEngineConfig] 设置日志大小和路径的方式将无效。因此,不建议使用[setEngineConfig] 设置日志大小和路径 。

SetLocalProxyConfig

static
SetLocalProxyConfig
public static void SetLocalProxyConfig(List<ZegoProxyInfo> proxyList,bool enable)
设置本地代理配置
Declared in ZegoExpressEngine.cs

参数

名称类型描述
proxyListList<ZegoProxyInfo>代理详细信息。
enablebool是否开启代理。

详情

设置本地代理配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:3.1.0 及以上。
  • 使用限制:[createEngine] 后无法更改代理。不适用于 WebGL。
  • 注意事项:无。

SetCloudProxyConfig

static
SetCloudProxyConfig
public static void SetCloudProxyConfig(List<ZegoProxyInfo> proxyList,string token,bool enable)
设置云代理配置
Declared in ZegoExpressEngine.cs

参数

名称类型描述
proxyListList<ZegoProxyInfo>代理详细信息。
tokenstring鉴权信息。如果使用 AppSign 鉴权可忽略,填空。
enablebool是否开启代理。

详情

设置云代理配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:3.1.0 及以上。
  • 使用限制:[createEngine] 后无法更改代理。不适用于 WebGL。
  • 注意事项:无。

SetRoomMode

static
SetRoomMode
public static void SetRoomMode(ZegoRoomMode mode)
设置房间模式。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoRoomMode房间模式。详情描述:用于设置房间模式。业务场景:当需要同时进入多个房间进行推拉流时,可以通过本接口开启多房间模式。是否必填:是。默认值:ZEGO_ROOM_MODE_SINGLE_ROOM。

详情

开发者需要使用多房间功能时,需要调用此函数来完成配置。

  • 调用时机:必须在调用 [createEngine] 之前设置才生效,否则会失败。
  • 支持版本:2.9.0 及以上。
  • 使用限制:如果需要使用多房间功能,请与即构技术支持联系配置服务端支持。不适用于 WebGL。
  • 注意事项:无。

GetVersion

static
GetVersion
public static string GetVersion()
获取 SDK 版本号。
Declared in ZegoExpressEngine.cs

在 SDK 在运行过程中若遇到异常,可将问题、日志等信息提交 ZEGO 技术人员定位与排障。开发者也可通过该 API 收集当前 SDK 版本信息,便于 App 运营统计以及关联问题。

  • 调用时机:任意时刻。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

SDK 版本号。

IsFeatureSupported

static
IsFeatureSupported
public static bool IsFeatureSupported(ZegoFeatureType featureType)
查询当前 SDK 是否支持指定的功能特性。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
featureTypeZegoFeatureType要查询的功能特性类型。

详情

由于 SDK 支持特性裁包,部分特性可能已被裁剪; 可以使用此函数快速判断当前 SDK 是否支持指定的功能特性,例如,查询是否支持媒体播放器功能。

  • 调用时机:任意时刻。
  • 支持版本:2.22.0 及以上。
  • 使用限制:不适用于 WebGL。

返回值

是否支持指定功能特性。true 表示支持;false 表示不支持。

SubmitLog

static
SubmitLog
public static void SubmitLog()
上传日志到 ZEGO 服务器。
Declared in ZegoExpressEngine.cs

默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。

  • 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
  • 调用时机:无。
  • 支持版本:3.7.0 及以上。
  • 使用限制:限频每分钟1次。
  • 注意事项:1.在调用本接口上传日志后,如果过快的调用 [destroyEngine] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destroyEngine] 或 退出 App。2.支持在 [createEngine] 之前调用,如果之前调用过 [createEngine],就会以最后一次的 appid 来上传日志,否则会等待下次 [createEngine] 才上传日志。

CreateEngine

static
CreateEngine
deprecated
public static ZegoExpressEngine CreateEngine(uint appID,string appSign,bool isTestEnv,ZegoScenario scenario)
【已废弃】创建 ZegoExpressEngine 单例对象并初始化 SDK。此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。请参考 [测试环境废弃说明](https://doc-zh.zego.im/article/13100)
Declared in ZegoExpressEngine.cs

参数

名称类型描述
appIDuintZEGO 为开发者签发的应用 ID,请从 ZEGO 管理控制台 https://console-express.zego.im 申请。appID 取值范围 0~4294967295。
appSignstring每个 AppID 对应的应用签名,请从 ZEGO 管理控制台申请。该参数为包含 64 个字符的字符串,字符取值范围:'0' ~ '9', 'a' ~ 'z'。例:"9dc9a25bh2f2137446897071c8c033fa33b91c3dd2a85e0c000ae82c0dad3"。2.17.0 及以上版本 appSign 允许传空或者不传。如果传空或者不传,则必须在调用 [loginRoom] 接口登录房间时将 token 填入 [ZegoRoomConfig] 参数中,用于鉴权。token 的生成方式请参考 使用 Token 鉴权
isTestEnvbool【已废弃】为提供更便捷、更标准的服务,ZEGO 已统一环境概念,2021-11-16 之后,不再有正式环境/测试环境之分,2021-11-16 及之前在 ZEGO 控制台 创建项目的用户,可参考 测试环境废弃说明 进行 SDK 升级和调整相关代码。
scenarioZegoScenario房间场景,SDK 会针对指定的场景的做一些音视频配置优化以达成在此场景下最优的效果。指定场景后,开发者可以使用 [setRoomScenario] 来实现在不销毁引擎 [destroyEngine] 的前提下切换其他场景。指定场景后,开发者可以调用其他 API 来继续调整音视频配置。各个场景之间的差异以及如何选择合适的场景请参考 https://doc-zh.zego.im/article/16316

详情

创建 ZegoExpressEngine 单例对象并初始化 SDK。

  • 调用时机:SDK 其他实例方法调用之前。
  • 支持版本:1.1.0 ~ 2.13.1,此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。
  • 使用限制:无。
  • 注意事项:SDK 只支持创建一个实例,如需重复调用 [createEngine] ,则需在第二次调用 [createEngine] 前先调用 [destroyEngine] 函数销毁引擎,否则再次调用此函数返回的都是上次创建的对象。
已废弃
此函数在 2.14.0 版本及以上已废弃,请使用不带 [isTestEnv] 参数的同名函数代替。

返回值

引擎单例对象

SetRoomScenario

SetRoomScenario
public abstract void SetRoomScenario(ZegoScenario scenario)
设置房间场景。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
scenarioZegoScenario房间场景。

详情

开发者可设置房间的使用场景,SDK 会针对不同的场景采取不同的优化策略,以便获取更优的效果;此函数的作用与 [createEngine] 的 [profile] 配置中的 [scenario] 参数完全一致。

  • 业务场景:此函数适用于多种音视频业务场景的 App,例如有 1v1 音视频通话场景和秀场直播场景;通过此函数可以实现在不销毁引擎 [destroyEngine] 的前提下切换场景。
  • 调用时机:必须在调用 [createEngine] 之后且调用 [loginRoom] 之前设置。
  • 支持版本:3.0.0 及以上。
  • 使用限制:一旦登录了房间就不再允许修改房间场景,若需要修改场景需要先退出房间,若登录了多个房间则需要退出所有房间后才能修改。
  • 注意事项: 1. 同一个房间内的用户建议使用同一种房间场景以获得最佳效果。 2. 设置场景会影响音视频码率、帧率、分辨率、编码类型、音频设备模式、路由、流控、3A、耳返等音视频配置,若开发者有特殊需求可以在设置房间场景后再调用其他各种 API 来设置上述配置。 3. 调用此函数将覆盖 [createEngine] 时指定的场景或上一次调用此函数设置的场景。 4. 调用此函数将覆盖你通过 [setVideoConfig], [setAudioConfig] 等 API 设置的音视频相关配置,因此建议先第一时间设置场景再通过其他 API 调整音视频配置。

UploadLog

UploadLog
public abstract void UploadLog()
上传日志到 ZEGO 服务器。
Declared in ZegoExpressEngine.cs

默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。

  • 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
  • 调用时机:在 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:10分钟内如果反复调用此接口,只有最后一次调用生效。不适用于 WebGL。
  • 注意事项:在调用本接口上传日志后,如果过快的调用 [destroyEngine] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destroyEngine] 或 退出 App。

EnableDebugAssistant

EnableDebugAssistant
public abstract void EnableDebugAssistant(bool enable)
开启调试助手。注意,请勿在线上版本开启此功能!仅在开发阶段使用!
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启调试助手。

详情

开启后,SDK 将会打印日志到控制台,并且将会在 SDK 其他函数的调用发生问题时 UI 弹窗提示错误。

  • 默认值:默认不开启。
  • 调用时机:可在创建引擎 [createEngine] 后立刻调用此函数。
  • 平台差异:弹窗提示功能仅支持 Android / iOS / macOS / Windows,而输出控制台日志功能支持全平台。不适用于 WebGL。
  • 支持版本:2.17.0 及以上。
  • 使用限制:无。
  • 注意事项:请务必在 App 发布前确认此功能已关闭,以避免在正式版本中当发生错误时弹出 UI 提示。建议将此函数的 [enable] 参数与 App 的 DEBUG 变量相关联,即仅在 DEBUG 环境下开启调试助手。

CallExperimentalAPI

CallExperimentalAPI
public abstract string CallExperimentalAPI(string param)
调用实验性 API。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
paramstring传入的参数,格式为 JSON 字符串,具体可咨询 ZEGO 技术支持。

详情

ZEGO 通过此 API 提供 RTC 业务中的部分技术预览或特别定制功能,需要获取功能的使用或详情其详情可咨询 ZEGO 技术支持。

  • 调用时机:在 [createEngine] 后。
  • 支持版本:2.7.0 及以上。
  • 使用限制:不适用于 WebGL。

返回值

返回的参数,格式为 JSON 字符串,具体可咨询 ZEGO 技术支持。

CheckSystemRequirements

CheckSystemRequirements
public abstract void CheckSystemRequirements(OnCheckSystemRequirementsResult callback,string checkType,int checkLevel)
Web 支持能力检测接口。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
callbackOnCheckSystemRequirementsResult回调检测结果。
checkTypestring指定检查浏览器可以支持的功能,例如:WEBRTC,VP8等。默认情况下,此参数不会传递以检查所有受支持的功能。
checkLevelint可取值 0 和 1。对于检测编码格式检测等级,0 表示快速检测; 1 意味着要长时间消耗和更高准确性的准确检测。

详情

检测浏览器兼容性。

  • 业务场景:音视频中很多功能只有较新版本的主流浏览器才支持,可以通过该接口来检测。
  • 调用时机:初始化之后,创建流之前调用。
  • 支持版本:3.21.0 及以上。
  • 使用限制:只支持在 Web 上使用。

LoginRoom

LoginRoom
public abstract void LoginRoom(string roomID,ZegoUser user,ZegoRoomConfig config)
使用配置进阶属性的方式登录房间,推拉流前必须登录房间。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
userZegoUser用户对象实例,配置用户 ID、用户名。 注意事项:注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登录的用户踢掉先登录的用户的情况。
configZegoRoomConfig房间进阶配置。

详情

如果房间不存在,[loginRoom] 会创建并登录房间。 SDK 用"房间"概念来组织用户,用户必须首先登录某个房间,才能进行一系列关键操作,比如推流 [startPublishingStream]、拉流[startPlayingStream]、收发广播消息 [sendBroadcastMessage] 等。为了防止 App 被恶意用户模拟登录,可以在登录房间之前加上鉴权验证,即 [config] 参数传入的 ZegoRoomConfig 对象中的 [token] 参数。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:在 [createEngine] 初始化 SDK 之后调用该函数。
  • 相关回调: 1. 当用户开始登录房间、登录房间成功或登录房间失败后,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。 2. 登录同一个房间的不同用户可以得到以相同房间为单位的房间信令通知(例如:[onRoomUserUpdate], [onRoomStreamUpdate] 等),一个房间内的用户收不到另一个房间房间信令的通知。 3. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调获取本端当前房间连接状态的变化情况,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 一个房间发的消息(例如 [setStreamExtraInfo], [sendBroadcastMessage], [sendBarrageMessage], [sendCustomCommand] 等)在别的房间无法收到(例如 [onRoomStreamExtraInfoUpdate], [onIMRecvBroadcastMessage], [onIMRecvBarrageMessage], [onIMRecvCustomCommand] 等),目前 ZegoExpressEngine 未提供跨房间消息的能力。开发者可以集成 IM 的 SDK 来实现。
  • 相关接口: 1. 可调用 [logoutRoom] 退出登录,如果没有退出登录而重复调用登录接口(roomID 和 user 保持相同的情况下),控制台会报错,打印错误码 1002001。 2. 如果需要登录多个房间,请在创建引擎前通过 [ZegoRoomMode] 选择多房间模式,然后调用 [loginRoom] 接口登录多房间。 3. 调用 [destroyEngine] 也会使用户自动退出登录。
  • 支持版本:1.1.0 及以上。
  • 使用限制:同一房间登录接口的调用频率 (QPS) 有一定限制,详情查阅 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. SDK 支持拉相同 appID 下非同一个房间的流,即跨房间拉流。由于 SDK 的房间信令的相关回调通知是以相同房间为单位,当开发者想要跨房间拉流时,开发者需自行维护相关的消息及信令通知。 3. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 4. 首次因网络原因登录失败或者房间断开连接之后,SDK 重连默认时间为 20min。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

LoginRoom

LoginRoom
public abstract void LoginRoom(string roomID,ZegoUser user,ZegoRoomConfig config,OnRoomLoginResult callback)
使用带配置进阶属性的方式登录房间,通过回调参数返回登录结果,推拉流前必须登录房间。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
userZegoUser用户对象实例,配置用户 ID、用户名。 注意事项:注意用户 ID 需要在相同的 appID 下全局唯一,否则会出现后登录的用户踢掉先登录的用户的情况。
configZegoRoomConfig房间进阶配置。
callbackOnRoomLoginResult本次登录结果的回调,如果需要详细的房间状态,请关注 [onRoomStateChanged] 回调。是否必填:否。默认值:null。注意事项:如果因为网络问题导致多次重试连接,重试状态将不会通过此回调抛出。

详情

如果房间不存在,[loginRoom] 会创建并登录房间。SDK 用"房间"概念来组织用户,用户必须首先登录某个房间,才能进行一系列关键操作,比如推流 [startPublishingStream]、拉流[startPlayingStream]、收发广播消息 [sendBroadcastMessage] 等。为了防止 App 被恶意用户模拟登录,可以在登录房间之前加上鉴权验证,即 [config] 参数传入的 ZegoRoomConfig 对象中的 [token] 参数。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:在 [createEngine] 初始化 SDK 之后调用该函数。
  • 相关回调: 1. 当用户开始登录房间、登录房间成功或登录房间失败后,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。 2. 登录同一个房间的不同用户可以得到以相同房间为单位的房间信令通知(例如:[onRoomUserUpdate], [onRoomStreamUpdate] 等),一个房间内的用户收不到另一个房间房间信令的通知。 3. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调获取本端当前房间连接状态的变化情况,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 一个房间发的消息(例如 [setStreamExtraInfo], [sendBroadcastMessage], [sendBarrageMessage], [sendCustomCommand] 等)在别的房间无法收到(例如 [onRoomStreamExtraInfoUpdate], [onIMRecvBroadcastMessage], [onIMRecvBarrageMessage], [onIMRecvCustomCommand] 等),目前 ZegoExpressEngine 未提供跨房间消息的能力。开发者可以集成 IM 的 SDK 来实现。
  • 相关接口: 1. 可调用 [logoutRoom] 退出登录,如果没有退出登录而重复调用登录接口(roomID 和 user 保持相同的情况下),控制台会报错,打印错误码 1002001。 2. 如果需要登录多个房间,请在创建引擎前通过 [ZegoRoomMode] 选择多房间模式,然后调用 [loginRoom] 接口登录多房间。 3. 调用 [destroyEngine] 也会使用户自动退出登录。
  • 支持版本:2.18.0 及以上。
  • 使用限制:同一房间登录接口的调用频率 (QPS) 有一定限制,详情查阅 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. SDK 支持拉相同 appID 下非同一个房间的流,即跨房间拉流。由于 SDK 的房间信令的相关回调通知是以相同房间为单位,当开发者想要跨房间拉流时,开发者需自行维护相关的消息及信令通知。 3. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 4. 首次因网络原因登录失败或者房间断开连接之后,SDK 重连默认时间为 20min。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

LogoutRoom

LogoutRoom
public abstract void LogoutRoom(OnRoomLogoutResult callback)
退出房间,带回调。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
callbackOnRoomLogoutResult本次登出房间结果的回调,如果需要详细房间状态,请关注 [onRoomStateChagned] 回调。是否必填:否。默认值:null。

详情

该接口会退出当前用户已登录的房间,若开启了多房间,则全部房间均会被退出。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:登录房间成功后,若不再使用房间功能,用户可以调用函数 [logoutRoom]。
  • 相关回调:调用此函数后会收到 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知成功退出房间,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知(开启 isUserStatusNotify 配置的前提下)。
  • 相关接口:用户可以调用 [loginRoom]、[switchRoom] 函数登录或更换房间。
  • 支持版本:2.9.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 退出房间会停止该用户的所有推拉流,引擎会停止,SDK 内部会主动停止本地预览。如果切换房间想保留预览能力,请使用 [switchRoom] 函数。2. 若用户未登录房间,调用该接口也会返回成功。

LogoutRoom

LogoutRoom
public abstract void LogoutRoom(string roomID,OnRoomLogoutResult callback)
退出指定房间 ID 的房间,并带有回调。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID,最大长度为 128 字节的字符串。
注意事项:
1. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
2. 如果需要与 Web SDK 互通,请不要使用 '%'。
callbackOnRoomLogoutResult本次登出房间结果的回调,如果需要详细房间状态,请关注 [onRoomStateChagned] 回调。是否必填:否。默认值:null。

详情

该接口会退出房间名为 roomID 的房间。

  • 业务场景:在同一个房间内用户可以进行直播、音视频通话等。
  • 调用时机:登录房间成功后,若不再使用房间功能,用户可以调用函数 [logoutRoom]。
  • 相关回调:调用此函数后会收到 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知成功退出房间,同时同房间其他用户会接收到 [onRoomUserUpdate] 回调通知(开启 isUserStatusNotify 配置的前提下)。
  • 相关接口:用户可以调用 [loginRoom]、[switchRoom] 函数登录或更换房间。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 退出房间会停止该用户的所有推拉流,引擎会停止,SDK 内部会主动停止本地预览。如果切换房间想保留预览能力,请使用 [switchRoom] 函数。2. 若用户登出房间,但传入 roomID 与已登录房间名不同,SDK 会返回失败。

SwitchRoom

SwitchRoom
public abstract void SwitchRoom(string fromRoomID,string toRoomID,ZegoRoomConfig config)
使用配置进阶属性的方式切换房间。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
fromRoomIDstring当前处于的房间 ID。
toRoomIDstring需要登录的下一个房间 ID。
configZegoRoomConfig房间进阶配置。

详情

使用此函数可以让用户快速从一个房间切换到另外一个房间。

  • 业务场景:若需要快速切换到下一个房间,可调用此函数。
  • 调用时机:登录房间成功后。
  • 相关回调:当用户调用 [switchRoom] 函数时,将会触发 [onRoomStateChanged] (2.18.0 之前版本不支持,请使用 [onRoomStateUpdate]) 回调通知开发者当前用户连接房间的状态。
  • 相关接口:用户可以调用 [logoutRoom] 函数退出房间。
  • 支持版本:1.15.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 当调用此函数后,当前正在推或拉的所有流都将会停止(但本地预览不会停止)。 2. 为了防止 App 被恶意用户模拟登录,可以在切换房间之前加上鉴权验证,即 [config] 参数传入的 ZegoRoomConfig 对象中的 [token] 参数。此参数配置作用于即将切换过去的房间。 3. 3.5.0 版本开始支持多房间模式(使用函数 [setRoomMode] 设置 ZegoRoomMode 为 ZEGO_ROOM_MODE_MULTI_ROOM)。 4. 若登录房间 [loginRoom] 时传入了 Token 进行登录,则调用 [switchroom] 切换房间时,必须使用带有 config 参数的 [switchroom] 接口切换房间,并传入对应 Token 值。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

RenewToken

RenewToken
public abstract void RenewToken(string roomID,string token)
更新 token 鉴权信息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID。
tokenstring需要更新的 token。

详情

当开发者收到 [onRoomTokenWillExpire] 之后,可使用此 API 更新 token 鉴权信息,保障后续 RTC 功能正常。

  • 业务场景:Token 将要过期时使用。
  • 调用时机:收到 [onRoomTokenWillExpire] 之后。
  • 支持版本:2.8.0 及以上。
  • 使用限制:无。
  • 注意事项:Token 中包含用户的房间权限、推流权限、有效时间等重要信息,详情请参考 https://doc-zh.zego.im/article/10360

SetRoomExtraInfo

SetRoomExtraInfo
public abstract void SetRoomExtraInfo(string roomID,OnRoomSetRoomExtraInfoResult onRoomSetRoomExtraInfoResult,string key,string value)
设置房间附加消息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID。
onRoomSetRoomExtraInfoResultOnRoomSetRoomExtraInfoResult设置房间附加消息结果回调。
keystring附加消息键。
valuestring附加消息值。

详情

用户调用此函数设置房间的附加消息。

  • 业务场景:可以设置一些房间相关的业务属性,比如是否有人在上麦。
  • 调用时机:登录房间成功后。
  • 相关回调:相同房间内的其他用户会通过 [onRoomExtraInfoUpdate] 回调函数获得通知。
  • 相关接口:无。
  • 支持版本:1.13.0 及以上。
  • 使用限制:关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。
  • 注意事项:key、value 的限制,请参考“使用限制”。新设置的 value 会覆盖旧的设置。

StartPublishingStream

StartPublishingStream
public abstract void StartPublishingStream(string streamID,ZegoPublishChannel channel)
开始推流,可选择推第二路流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。
channelZegoPublishChannel推流通道。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器 或 CDN,同一房间的其他用户通过 "streamID" 或 CDN 拉流地址就可以拉取该音视频流进行观看。

  • 业务场景:可以用于实时连麦、直播等场景下进行推流。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 开始推流前,用户可选择调用 [setVideoConfig] 设置相关视频参数,调用 [startPreview] 进行视频预览。 2. 当推流成功之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来获取流的新增情况。 3. 在网络质量不佳的情况下,用户推流可能出现中断,SDK 会尝试重连并推流(连接成功后 SDK 会自动进行推流),开发者可通过监听 [onPublisherStateUpdate] 事件来获知当前推流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect

StartPublishingStream

StartPublishingStream
public abstract void StartPublishingStream(string streamID,ZegoPublisherConfig config,ZegoPublishChannel channel)
开始推流,支持多房间模式
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。
configZegoPublisherConfig推流进阶配置。
channelZegoPublishChannel推流通道。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器 或 CDN,同一房间的其他用户通过 "streamID" 或 CDN 拉流地址就可以拉取该音视频流进行观看。

  • 业务场景:可以用于实时连麦、直播等场景下进行推流。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 开始推流前,用户可选择调用 [setVideoConfig] 设置相关视频参数,调用 [startPreview] 进行视频预览。 2. 当推流成功之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来获取流的新增情况。 3. 在网络质量不佳的情况下,用户推流可能出现中断,SDK 会尝试重连并推流(连接成功后 SDK 会自动进行推流),开发者可通过监听 [onPublisherStateUpdate] 事件来获知当前推流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 调用 [SetRoomMode] 函数选择多房间,必须明确指定房间 ID。

StartPublishingStreamInScene

StartPublishingStreamInScene
public abstract void StartPublishingStreamInScene(string streamID,ZegoPublishChannel channel,ZegoScenePublisherConfig config)
在范围场景内推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 的字符串。
注意事项:
1. 流 ID 由您自己定义。
2. 需要在整个 AppID 内全局唯一,若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
3. 仅支持数字,英文字符 和 '-', '_'。
channelZegoPublishChannel推流通道。
configZegoScenePublisherConfig场景推流进阶配置。

详情

用户将自己本地的音视频流推送到 ZEGO RTC 服务器。

  • 业务场景:范围场景场景下推流。
  • 调用时机:调用 [loginScene] 加入场景后调用该函数。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

StopPublishingStream

StopPublishingStream
public abstract void StopPublishingStream(ZegoPublishChannel channel)
停止推流,可停止指定通道的音视频流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

用户停止发送本地的音视频流,房间内其他用户会收到流删除通知。

  • 业务场景:可以用于实时连麦、直播等场景下停止推流。
  • 调用时机:调用 [startPublishingStream] 开始推流后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项: 1. 在停止推流之后,同房间内其他用户可通过监听 [onRoomStreamUpdate] 回调来收到流的删除通知。 2. 如果用户已经启动推流,在推送新流(与之前的 streamID 不同)之前,必须要调用此函数停止当前流的推送,否则新流推送会返回失败。 3. 在停止推流之后,开发者应该根据业务情况来决定是否需要停止本地预览。

SetStreamExtraInfo

SetStreamExtraInfo
public abstract void SetStreamExtraInfo(string extraInfo,OnPublisherSetStreamExtraInfoResult onPublisherSetStreamExtraInfoResult,ZegoPublishChannel channel)
设置指定推流通道的流附加信息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
extraInfostring流附加信息,长度不超过1024的字符串。
onPublisherSetStreamExtraInfoResultOnPublisherSetStreamExtraInfoResult设置流附加信息执行结果通知。
channelZegoPublishChannel推流通道。

详情

可通过此函数设置当前推流的流附加信息。流附加信息是流 ID 的附加信息标识,不同于流 ID 在推流过程中不可修改,流附加信息可以在对应流 ID 的推流中途修改。开发者可根据流附加信息来实现流 ID 相关的可变内容的同步。

  • 调用时机:在创建引擎 [createEngine] 之后,在推流 [startPublishingStream] 前后调用都可生效。
  • 相关回调:结果会通过 [ZegoPublisherSetStreamExtraInfoCallback] 回调通知。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

StartPreview

StartPreview
public abstract void StartPreview(ZegoPublishChannel channel)
启动/更新本地预览,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

用户通过调用此函数可以看到自己本地的画面。

  • 业务场景:可以用于实时连麦、直播等场景下的本地预览。
  • 调用时机:调用 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 预览功能不需要先登录房间或推流,但是在退出房间之后 SDK 内部默认会主动停止预览。2. 可以通过再次调用此函数来切换视图或修改预览模式(ZegoViewMode)。用户只能在一个视图上预览,如果再次调用 [startPreview] 传入新的视图,则预览画面只会在新视图展现。3. 可以通过调用 [setVideoMirrorMode] 函数来设置预览画面的镜像模式,移动端默认开启预览画面的镜像效果。4. 调用此函数后,SDK 会启动音视频引擎,并尝试采集音频与视频。

StopPreview

StopPreview
public abstract void StopPreview(ZegoPublishChannel channel)
停止本地预览,支持设置其他通道的推流
Declared in ZegoExpressEngine.cs

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

当本地不需要预览时可调用此函数停止预览。

  • 支持版本:1.1.0 及以上。
  • 注意事项:停止预览不会影响推流、拉流功能。

SetVideoConfig

SetVideoConfig
public abstract void SetVideoConfig(ZegoVideoConfig config,ZegoPublishChannel channel)
设置视频配置,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoVideoConfig视频配置,SDK 提供常用的分辨率、帧率和码率的组合值,也可自定义分辨率、帧率和码率。
channelZegoPublishChannel推流通道。

详情

设置视频帧率、码率、视频采集分辨率、视频编码输出分辨率等视频配置。

  • 业务场景:不同业务场景下的建议配置 https://doc-zh.zego.im/article/10365
  • 默认值:默认视频采集分辨率为 360p,视频编码输出分辨率为 360p,码率为 600 kbps,帧率为 15 fps。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:需要在 [startPreview] 前调用。在 [startPreview] 之后调用无法修改采集分辨率,仅支持修改编码分辨率、码率和帧率。
  • 注意事项:移动端分辨率的宽高与 PC 端分辨率的宽高是相反的,例:移动端的 360p 的分辨率为 360x640,而 PC 端 360p 的分辨率为 640x360。

GetVideoConfig

GetVideoConfig
public abstract ZegoVideoConfig GetVideoConfig(ZegoPublishChannel channel)
获取当前视频配置,支持设置其他通道的推流
Declared in ZegoExpressEngine.cs

参数

名称类型描述
channelZegoPublishChannel推流通道

详情

可通过此函数获取指定推流通道当前的视频帧率、码率,视频采集分辨率,视频编码输出分辨率。

返回值

视频配置对象

SetPublishDualStreamConfig

SetPublishDualStreamConfig
public abstract void SetPublishDualStreamConfig(List<ZegoPublishDualStreamConfig> configList,ZegoPublishChannel channel)
设置大小流配置信息
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configListList<ZegoPublishDualStreamConfig>配置信息。
channelZegoPublishChannel推流通道。

详情

设置大小流配置。

  • 调用时机:必须在调用 [createEngine] 之后, 先调用[ZegoExpressEngine > setVideoConfig] 中指定codecID为 ZegoVideoCodecIDH264DualStream 时生效。
  • 支持版本:3.7.0 及以上。
  • 使用限制:必须同时指定大流和小流参数才能生效, 设置大流, 小流分辨率比要一致。例如都为 4:3 。
  • 注意事项:宽、高、分辨率以及码率都大于零才会生效。

SetVideoMirrorMode

SetVideoMirrorMode
public abstract void SetVideoMirrorMode(ZegoVideoMirrorMode mirrorMode,ZegoPublishChannel channel)
设置镜像模式,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mirrorModeZegoVideoMirrorMode预览或推流的镜像模式。
channelZegoPublishChannel推流通道。

详情

设置本地预览视频以及推送的视频是否开启镜像模式,具体镜像模式可以参考 https://doc-zh.zego.im/article/10365

  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:只有 SDK 负责渲染时该设置才有效。不适用于 WebGL。

SetAppOrientation

SetAppOrientation
public abstract void SetAppOrientation(ZegoOrientation orientation,ZegoPublishChannel channel)
设置采集视频的朝向,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
orientationZegoOrientation视频的朝向。
channelZegoPublishChannel推流通道。

详情

设置视频的朝向,详细的介绍可参考文档 https://doc-zh.zego.im/faq/express_video_capture_rotation

  • 业务场景:用户使用移动设备进行直播或视频通话时,可以根据现场设置不同的视频方向。
  • 调用时机:调用 [createEngine] 之后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

SetAudioConfig

SetAudioConfig
public abstract void SetAudioConfig(ZegoAudioConfig config,ZegoPublishChannel channel)
设置指定推流通道的音频质量配置。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoAudioConfig音频质量配置。
channelZegoPublishChannel推流通道。

详情

可通过此函数设置音频编码类型、码率、音频声道的组合值。若预设的值无法满足开发者的场景,开发者可自行根据业务要求设置符合的参数。

  • 默认值:默认的音频配置参考 [ZegoAudioConfig] 的默认值。
  • 调用时机:在创建引擎 [createEngine] 后,且在推流 [startPublishingStream] 前设置。
  • 相关接口:[getAudioConfig]。
  • 支持版本:1.3.4 及以上。
  • 使用限制:无。

GetAudioConfig

GetAudioConfig
public abstract ZegoAudioConfig GetAudioConfig(ZegoPublishChannel channel)
获取指定推流通道的当前音频质量配置。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

可通过此函数获取当前的音频编码类型、码率、音频声道的组合值。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[setAudioConfig]。
  • 支持版本:1.8.0 及以上。
  • 使用限制:无。

返回值

音频质量配置。

TakePublishStreamSnapshot

TakePublishStreamSnapshot
public abstract void TakePublishStreamSnapshot(OnPublisherTakeSnapshotResult callback,ZegoPublishChannel channel)
对指定推流通道的推流画面截图。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
callbackOnPublisherTakeSnapshotResult推流画面截图结果回调。
channelZegoPublishChannel推流通道。

详情

对推流画面进行截图。

  • 调用时机:在调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关回调:截图结果会通过 [ZegoPublisherTakeSnapshotCallback] 回调。
  • 相关接口:[takePlayStreamSnapshot]。
  • 支持版本:1.17.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:截图的分辨率为 [setVideoConfig] 里设置的编码分辨率,若需改为采集分辨率,请调用 [setCapturePipelineScaleMode] 将采集缩放时机模式改为 [Post]。

MutePublishStreamAudio

MutePublishStreamAudio
public abstract void MutePublishStreamAudio(bool mute,ZegoPublishChannel channel)
停止或恢复发送指定推流通道的音频流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool是否停止发送音频流;true 表示不发送音频流;false 表示发送音频流;默认为 false。
channelZegoPublishChannel推流通道。

详情

推流时可调用此函数实现不推音频数据流,本地仍会采集和处理音频,但向网络发送静音帧数据包。

  • 业务场景:用户不希望推出任何音频数据时,可以调用该接口。该接口不影响 [onBeforeAudioPrepAudioData]。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:如果在本地设置了停止发送音频流,拉本地流的远端用户可以通过监听 [onRemoteMicStateUpdate] 回调收到 Mute 的状态变更通知。
  • 相关接口:[mutePublishStreamVideo]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

MutePublishStreamVideo

MutePublishStreamVideo
public abstract void MutePublishStreamVideo(bool mute,ZegoPublishChannel channel)
停止或恢复发送指定推流通道的视频流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool是否停止发送视频流;true 表示只发送音频流不发送视频流;false 表示同时发送音频和视频流;默认为 false。
channelZegoPublishChannel推流通道。

详情

推流时可调用此函数实现不推视频流,本地摄像头仍能正常工作,能正常采集,预览和处理视频画面,但不向网络发送视频数据。

  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关回调:如果在本地设置了停止发送视频流,拉本地流的远端用户可以通过监听 [onRemoteCameraStateUpdate] 回调收到 Mute 的状态变更通知。
  • 相关接口:[mutePublishStreamAudio]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

SetStreamAlignmentProperty

SetStreamAlignmentProperty
public abstract void SetStreamAlignmentProperty(int alignment,ZegoPublishChannel channel)
开启或关闭流精准对齐功能
Declared in ZegoExpressEngine.cs

参数

名称类型描述
alignmentint是否开启精准对齐功能,1 表示开启,0 表示关闭。
channelZegoPublishChannel推流通道。

详情

调用本接口开启或关闭流对齐功能。

  • 业务场景:常用于 KTV 等需要流对齐的场景。
  • 默认值:若未调该接口,默认为 不对齐
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[startMixerTask]、[startAutoMixerTask]。
  • 支持版本:2.11.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:如果在拉多路流或者混流时需要通过网络时间对各流进行对齐,推流需调用 [startPublishingStream] 且 [ZegoPublisherConfig] 中的 [forceSynchronousNetworkTime] 为1,开启网络时间同步。

EnableTrafficControl

EnableTrafficControl
public abstract void EnableTrafficControl(bool enable,int property)
开始或停止流量控制。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否使用流量控制。true 表示开启流控,false 表示关闭流控。默认为 true。
propertyint流量控制的属性,位掩码或运算格式。具体可设置为 [ZegoTrafficControlProperty] 的属性的一个或多个枚举组合。默认为 AdaptiveFPS。

详情

开启流量控制可以使 SDK 根据当前上行网络环境状况,或者在1 对1 互动场景下根据对方下行网络环境状况,调节音视频推流码率大小,以保障效果流畅。同时,可进一步指定流量控制的属性来调整相应的控制策略。

  • 默认值:默认开启。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 之前调用生效。
  • 支持版本:1.5.0 及以上。
  • 使用限制:仅支持 RTC 推流。不适用于 WebGL。
  • 注意事项:作用于主推流通道 ZegoPublishChannel.Main。

SetMinVideoBitrateForTrafficControl

SetMinVideoBitrateForTrafficControl
public abstract void SetMinVideoBitrateForTrafficControl(int bitrate,ZegoTrafficControlMinVideoBitrateMode mode,ZegoPublishChannel channel)
设置指定推流通道的流量控制视频码率最低值
Declared in ZegoExpressEngine.cs

参数

名称类型描述
bitrateint最低视频码率,单位为 kbps。
modeZegoTrafficControlMinVideoBitrateMode低于最低码率时的视频发送模式。
channelZegoPublishChannel推流通道。

详情

设置流量控制时视频码率达到最低阈值时的控制策略。当码率低于最低阈值时,可以选择不发送视频数据或者以极低帧率发送。

  • 默认值:无视频码率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl]。不适用于 WebGL。

SetMinVideoFpsForTrafficControl

SetMinVideoFpsForTrafficControl
public abstract void SetMinVideoFpsForTrafficControl(int fps,ZegoPublishChannel channel)
设置流量控制的最低视频帧率阈值。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
fpsint流量控制的最低视频帧率阈值,单位为 fps。
channelZegoPublishChannel推流通道。

详情

开启流量控制 [enableTrafficControl],并且它的参数 [property] 包含属性 AdaptiveFPS 时,视频的最低帧率不会低于 [setMinVideoFpsForTrafficControl] 接口设置的值。 0 值表示不限制。

  • 默认值:无视频帧率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.17.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl],并且它的参数 [property] 必须包含属性 AdaptiveFPS,具体可以参考 [ZegoTrafficControlProperty]。不适用于 WebGL。
  • 注意事项:如果需要取消该设置值的限制可以设置为 0。

SetMinVideoResolutionForTrafficControl

SetMinVideoResolutionForTrafficControl
public abstract void SetMinVideoResolutionForTrafficControl(int width,int height,ZegoPublishChannel channel)
设置流量控制的最低视频分辨率阈值。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
widthint流量控制的最低视频分辨率的宽。
heightint流量控制的最低视频分辨率的高。
channelZegoPublishChannel推流通道。

详情

开启流量控制 [enableTrafficControl],并且它的参数 [property] 包含属性 AdaptiveResolution 时,视频的最低分辨率不会低于 [setMinVideoResolutionForTrafficControl] 接口设置的值。 0 值表示不限制。

  • 默认值:无视频分辨率最低阈值的控制效果。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.17.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl],并且它的参数 [property] 必须包含属性 AdaptiveResolution,具体可以参考 [ZegoTrafficControlProperty]。不适用于 WebGL。
  • 注意事项:如果需要取消该设置值的限制可以设置分辨率宽高值为 0。

SetTrafficControlFocusOn

SetTrafficControlFocusOn
public abstract void SetTrafficControlFocusOn(ZegoTrafficControlFocusOnMode mode,ZegoPublishChannel channel)
设置指定推流通道的触发流量控制的关注因素。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoTrafficControlFocusOnMode选择 LOCAL_ONLY 时,只关注本地网络状况。选择 REMOTE 时,不仅关注本地网络,同时也兼顾远端网络。
channelZegoPublishChannel推流通道。

详情

通过该接口控制是否因为远端网络状况差而启动流量控制。

  • 默认值:默认关闭。
  • 调用时机:在创建引擎 [createEngine] 后,在推流 [startPublishingStream] 前调用生效。
  • 相关接口:[enableTrafficControl]。
  • 支持版本:2.4.0 及以上。
  • 使用限制:必须开启流量控制 [enableTrafficControl]。不适用于 WebGL。

SetCaptureVolume

SetCaptureVolume
public abstract void SetCaptureVolume(int volume)
设置推流端采集音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
volumeint音量增益百分比,范围为 0 ~ 200,默认值为 100,表示为设备原始采集音量的 100%.

详情

此函数用于在设备采集音量的基础上做增益处理,本端用户可控制往远端发送音频流的声音大小。

  • 默认值:默认为 100。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:设置拉流音量 [setPlayVolume]。
  • 支持版本:1.13.0 及以上。
  • 使用限制:在推流途中可以动态设置采集音量。

SetAudioCaptureStereoMode

SetAudioCaptureStereoMode
public abstract void SetAudioCaptureStereoMode(ZegoAudioCaptureStereoMode mode)
设置音频采集双声道模式。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoAudioCaptureStereoMode双声道采集模式。

详情

此函数用于设置音频的采集声道模式,当开发者开启双声道采集后,使用专门的双声道采集设备,可以采集到双声道的音频数据并进行推流。

  • 业务场景:在一些比较专业的场景里,用户对声音的效果尤为敏感,比如语音电台、乐器演奏,此时就需要对双声道和高音质的支持。
  • 默认值:默认 None,即单声道采集。
  • 调用时机:需要在 [createEngine] 之后,在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 相关接口:当推流时需要同时通过 [setAudioConfig] 函数开启双声道音频编码功能。
  • 支持版本:1.15.0 及以上 (iOS/Android/Windows);自 2.16.0 开始支持 macOS。
  • 使用限制:如果需要开启双声道采集,还需要满足如下条件:对于 iOS/Android 来说,需要外接支持双声道采集的音频设备并且处于媒体音量下。对于 macOS 来说需要处于媒体音量下。对于 Windows 来说需要外接支持双声道采集的音频设备。不适用于 WebGL。

AddPublishCdnUrl

AddPublishCdnUrl
public abstract void AddPublishCdnUrl(string streamID,OnPublisherUpdateCdnUrlResult onPublisherUpdateCdnUrlResult,string targetURL)
增加转推至 CDN 的 URL。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
onPublisherUpdateCdnUrlResultOnPublisherUpdateCdnUrlResult更新 CDN 转推结果通知。
targetURLstringCDN 转推地址,支持的转推地址格式有 rtmp, rtmps.

详情

将 ZEGO RTC 服务器的音视频流转推至自定义的 CDN 内容分发网络,延迟高但是支持高并发拉流。

  • 业务场景:1. 常用于对延迟没有特别高要求的大规模直播场景。2. 由于 ZEGO RTC 服务器本身可配置支持 CDN 内容分发网络,此函数主要为自身拥有 CDN 内容分发服务的开发者使用。3. 此函数支持动态转推至多个 CDN 内容分发网络,因此开发者可以使用此函数来作为 CDN 内容分发服务的一个容灾方案。
  • 调用时机:在调用 [createEngine] 函数创建引擎后。
  • 相关接口:删除转推至 CDN 的 URL [removePublishCdnUrl],结果回调函数 [onPublisherRelayCDNStateUpdate]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用 [enablePublishDirectToCDN] 函数设置为 true 将流直推到 CDN 时,再调用本函数将无效。
  • 注意事项:删除转推至 CDN 的 URL 需要调用 [removePublishCdnUrl],调用 [stopPublishingStream] 不会删除转推至 CDN 的 URL。

RemovePublishCdnUrl

RemovePublishCdnUrl
public abstract void RemovePublishCdnUrl(string streamID,OnPublisherUpdateCdnUrlResult onPublisherUpdateCdnUrlResult,string targetURL)
删除转推至 CDN 的 URL。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
onPublisherUpdateCdnUrlResultOnPublisherUpdateCdnUrlResult更新 CDN 转推结果通知。
targetURLstringCDN 转推地址,支持的转推地址格式有 rtmp.

详情

当已经通过 [addPublishCdnUrl] 添加了某个 CDN 转推地址,需要将流停止转推时调用此函数。

  • 调用时机:在调用 [createEngine] 函数创建引擎后,不需要继续转推至 CDN 时。
  • 相关接口:增加转推至 CDN 的 URL [addPublishCdnUrl],结果回调函数 [onPublisherRelayCDNStateUpdate]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用 [enablePublishDirectToCDN] 函数设置为 true 将流直推到 CDN 时,再调用本函数将无效。
  • 注意事项:此函数并不会停止推往 ZEGO RTC 服务器的音视频流。

EnablePublishDirectToCDN

EnablePublishDirectToCDN
public abstract void EnablePublishDirectToCDN(bool enable,ZegoCDNConfig config,ZegoPublishChannel channel)
是否直接推流到 CDN(不经过 ZEGO RTC 服务器), 支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启直推 CDN;true 表示开启直推 CDN;false 表示不开启直推 CDN;默认为 false。
configZegoCDNConfigCDN 配置,若为 null 则使用 Zego 的后台配置。
channelZegoPublishChannel推流通道。

详情

是否不经过 ZEGO RTC 服务器直接推流到 CDN。

  • 业务场景:常用于对延迟没有特别高要求的大规模直播场景。
  • 默认值:默认为 false,不开启直推。
  • 调用时机:在创建引擎 [createEngine]后,开始推流[startPublishingStream] 前。
  • 相关接口:动态转推至 CDN 函数 [addPublishCdnUrl]、[removePublishCdnUrl]。
  • 支持版本:1.5.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:直推 CDN 功能在网络传输过程中不经过 ZEGO 实时音视频云,无法使用 ZEGO 的超低延迟音视频服务。

SetSEIConfig

SetSEIConfig
public abstract void SetSEIConfig(ZegoSEIConfig config)
设置媒体增强补充信息类型。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoSEIConfigSEI 类型配置。默认使用 ZEGO 定义的 SEI。

详情

SDK 默认使用 ZEGO 自行定义的 SEI 类型包装数据,且此类型是 SEI 标准未规定的类型。当开发者需要使用第三方解码器解码,会导致解不出正确的 SEI,需要调用 [setSEIConfig] 函数更换 SDK 发送 SEI 的类型为 UserUnregister 类型。

  • 业务场景:当开发者使用第三方解码器解码 SEI 时需要执行该函数。
  • 调用时机:在创建引擎 [createEngine]后,开始推流[startPublishingStream] 前。
  • 支持版本:3.21.0 及以上。
  • 使用限制:暂时只在 WebGL 上支持。Web 端推拉流默认不开启收发SEI能力,需要在初始化引擎后推拉流之前调用 SetSEIConfig 来开启收发 SEI。

SendSEI

SendSEI
public abstract void SendSEI(byte[] data,ZegoPublishChannel channel)
指定推流通道号,发送媒体增强补充信息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
databyte[]SEI 内容。
channelZegoPublishChannel推流通道。

详情

在推流传输音视频流数据同时,发送流媒体增强补充信息来同步一些其他附加信息。

  • 业务场景:一般用于如同步音乐歌词或视频画面精准布局等场景,可选择使用发送 SEI。
  • 调用时机:在开始推流[startPublishingStream] 后。
  • 相关接口:当推流方发送 SEI 后,拉流方可通过监听 [onPlayerRecvSEI] 的回调获取 SEI 内容。
  • 支持版本:1.1.0 及以上。
  • 使用限制:1 秒钟不要超过30次,SEI 数据长度限制为 4096 字节。不适用于 WebGL。
  • 注意事项:1. 由于网络问题有可能丢帧,因此 SEI 信息也有可能丢,为解决这种情况,应该在限制频率内多发几次。2. 即使调用 [enableCamera] 接口关闭摄像头或通过 [mutePublishStreamVideo] 停止发送视频数据,SEI 仍可发送成功;只要拉流端不调用 [mutePlayStreamVideo] 的接口停止拉音频数据,仍可正常接收 SEI。3. 若 SDK 不支持视频模块,但支持 SEI 功能模块,SEI 信息仍可正常发送。

EnableHardwareEncoder

EnableHardwareEncoder
public abstract void EnableHardwareEncoder(bool enable)
开/关硬件编码。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启硬件编码;true 表示开启硬编;false 表示关闭硬编;默认为 false。

详情

推流时是否采用硬件编码的开关,开启硬解编码后会使用 GPU 进行编码,降低 CPU 使用率。

  • 调用时机:在推流前设置才能生效,如果在推流后设置,停推后重新推流可以生效。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:由于少部分机型设备硬编支持不是特别好,SDK 默认使用软件编码的方式。若开发者在某些机型测试时发现推大分辨率音视频流时设备发热严重,可考虑调用此函数开启硬编的方式。

SetCapturePipelineScaleMode

SetCapturePipelineScaleMode
public abstract void SetCapturePipelineScaleMode(ZegoCapturePipelineScaleMode mode)
设置采集缩放时机,视频数据是采集的时候立即缩放还是编码时才进行缩放。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoCapturePipelineScaleMode采集缩放时机。
  • 调用时机:此函数需要在调用 [createEngine] 之后,调用预览 [startPreview] 或推流 [startPublishingStream] 前设置有效。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:主要影响是当采集分辨率与编码分辨率不同的时候,是否影响本地预览情况。

SetDummyCaptureImagePath

SetDummyCaptureImagePath
public abstract void SetDummyCaptureImagePath(string filePath,ZegoPublishChannel channel)
设置关闭摄像头时所推静态图片的路径
Declared in ZegoExpressEngine.cs

参数

名称类型描述
filePathstring图片路径
channelZegoPublishChannel推流通道。

详情

设置关闭摄像头时所推静态图片的路径。开始正常推流后,调用 enableCamera(false) 时会开始推静态图片,调用 enableCamera(true) 时会结束推静态图片。

  • 业务场景:开发者希望关闭摄像头时,显示静态图片。例如,主播退后台的时候,会主动关闭摄像头,此时观众侧需要展示主播暂时离开的图片。
  • 调用时机:初始化引擎之后,关闭摄像头前调用本 API 进行参数配置,在关闭摄像头后,即可推静态图片。
  • 平台差异: 1. Windows:直接填写图片位置,如"D://dir//image.jpg"。 2. iOS/macOS:如果是完整路径则添加 "file:" 前缀,如:@"file:/var/image.png"。资产则添加 "asset:" 前缀,如:@"asset
    "。 3. Android:如果是完整路径则添加 "file:" 前缀,如:"file:/sdcard/image.png"。“assets” 目录下的图片则添加 "asset:" 前缀,如:"asset
    .png"。 4. Flutter:如果是绝对路径则添加 "file:" 前缀,如:"file:/sdcard/image.png"。“assets” 资源中的图片则添加 "flutter-asset://" 前缀,如:"flutter-asset://assets/watermark.png"。
  • 支持版本:2.9.0 及以上。
  • 使用限制: 1. 图片支持类型为 JPEG/JPG、PNG、BMP、HEIF。 2. 该接口只对 SDK 视频采集有效,对自定义视频采集不生效。 3. 不支持图片路径是网络链接。 4. 不适用于 WebGL。 5. 推音频流一定要再次调用该接口并把图片路径设置为空,避免产生视频计费。
  • 注意事项: 1. 本地预览无法看到该静态图片。 2. 外部滤镜、水印、镜像、截图都不会生效。 3. 如果图片宽高比与设定的编码宽高比不一致,会按照编码宽高比进行裁剪。

SetLowlightEnhancement

SetLowlightEnhancement
public abstract void SetLowlightEnhancement(ZegoLowlightEnhancementMode mode,ZegoPublishChannel channel)
设置低照度增强。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoLowlightEnhancementMode低照度增强模式。
channelZegoPublishChannel推流通道。

详情

根据设置的低照度增强模式,对摄像头采集的画面亮度进行增强,兼容美颜功能。用户可以在预览时观看效果,并实时切换低照度增强模式。

  • 业务场景:推流端环境较暗,或者摄像头设置的帧率较高导致画面偏暗,无法正常显示或识别主体。
  • 默认值:关闭。
  • 调用时机:创建引擎 [createEngine] 后。
  • 支持版本:2.21.0 及以上。
  • 使用限制:不适用于 WebGL。

SetVideoSource

SetVideoSource
public abstract int SetVideoSource(ZegoVideoSourceType source,ZegoPublishChannel channel)
设置指定推流通道的视频采集源。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
sourceZegoVideoSourceType视频采集源类型。
channelZegoPublishChannel推流通道。

详情

设置视频采集源,用于在不同的视频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的视频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型。
  1. 辅路推流通道 ZegoPublishChannel.Aux 使用 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型时,需要确保主推流通道 ZegoPublishChannel.Main 设备正常工作。
  2. 抢占型视频源不允许在多通道同时使用,例如 ZegoVideoSourceType.Camera、ZegoVideoSourceType.ScreenCapture。
  3. 只有主路使用内部采集,辅路才可复制,且最多支持一路复制。
  4. 设置 ZegoVideoSourceType.Player 视频输入源类型时,请确保 ZegoMediaPlayer 实例创建成功。

SetVideoSource

SetVideoSource
public abstract int SetVideoSource(ZegoVideoSourceType source,uint instanceID,ZegoPublishChannel channel)
设置视频采集源实例作为指定推流通道的视频采集源。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
sourceZegoVideoSourceType视频采集源类型。
instanceIDuint视频采集源实例 ID。
channelZegoPublishChannel推流通道。

详情

设置视频采集源,用于在不同的视频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的视频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型。
  1. 辅路推流通道 ZegoPublishChannel.Aux 使用 ZegoVideoSourceType.Player 和 ZegoVideoSourceType.MainPublishChannel 视频输入源类型时,需要确保主推流通道 ZegoPublishChannel.Main 设备正常工作。
  2. 抢占型视频源不允许在多通道同时使用,例如 ZegoVideoSourceType.Camera、ZegoVideoSourceType.ScreenCapture。
  3. 只有主路使用内部采集,辅路才可复制,且最多支持一路复制。
  4. 设置 ZegoVideoSourceType.Player 视频输入源类型时,请确保 ZegoMediaPlayer 实例创建成功。

SetAudioSource

SetAudioSource
public abstract int SetAudioSource(ZegoAudioSourceType source,ZegoPublishChannel channel)
为指定推流通道设置音频采集源
Declared in ZegoExpressEngine.cs

参数

名称类型描述
sourceZegoAudioSourceType音频采集源类型。
channelZegoPublishChannel推流通道。

详情

设置音频采集源,用于在不同的音频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的音频采集源之间切换的教育场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 注意事项:1. 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型。
  1. 辅路推流通道 ZegoPublishChannel.Aux 使用 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型时,需要确保主推流通道 ZegoPublishChannel.Main 设备正常工作。 3. 抢占型音源不允许在多通道同时使用,例如 ZegoAudioSourceType.Microphone。
  2. 设置 ZegoAudioSourceType.MediaPlayer 音频输入源类型时,请确保 ZegoMediaPlayer 实例创建成功。

SetAudioSource

SetAudioSource
public abstract int SetAudioSource(ZegoAudioSourceType source,ZegoAudioSourceMixConfig config)
设置音频采集源及混音配置
Declared in ZegoExpressEngine.cs

参数

名称类型描述
sourceZegoAudioSourceType音频采集源类型。
configZegoAudioSourceMixConfig音频采集源混音配置。

详情

设置音频采集源,用于在不同的音频采集源之间进行切换。

  • 业务场景:通常用于需要在不同的音频采集源之间切换的场景下。
  • 调用时机:在创建引擎 [createEngine] 后调用生效。
  • 支持版本:3.1.0 及以上。
  • 使用限制:无。
  • 注意事项:作用于主路推流通道 ZegoPublishChannel.Main。 主路推流通道 ZegoPublishChannel.Main 不支持设置 ZegoAudioSourceType.MediaPlayer 和 ZegoAudioSourceType.MainPublishChannel 音频输入源类型。

StartPlayingStream

StartPlayingStream
public abstract void StartPlayingStream(string streamID,ZegoPlayerConfig config)
开始拉流(从 ZEGO RTC 服务器或第三方 CDN),支持多房间模式。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
configZegoPlayerConfig拉流进阶配置, [ZegoPlayerConfig] 中房间 [roomID] 为登录的房间ID。

详情

从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音视频流进行互通。

  • 业务场景:在实时连麦或直播场景下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内新增的流信息,并调用此接口传入 "streamID" 进行拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 开发者可通过再次调用此函数实现切换拉流 canvas 的操作(streamID 必须一样)。同一条流只能在唯一的视图中拉取展示,如果调用 [startPlayingStream] 传入相同的 "streamID" 和不同的视图,画面只会在新视图展现。2. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。3. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect 4. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

StartPlayingStreamInScene

StartPlayingStreamInScene
public abstract void StartPlayingStreamInScene(string streamID,ZegoScenePlayerConfig config)
使用范围场景功能时,开始拉流(从 ZEGO RTC 服务器或第三方 CDN),仅支持 Unity 使用。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
configZegoScenePlayerConfig场景拉流进阶配置。

详情

从 ZEGO RTC 服务器或第三方 CDN 拉取远端用户的音视频流进行互通。

  • 业务场景:使用范围场景功能时,用户可以使用该接口自定义拉流。
  • 调用时机:调用 [loginScene] 加入场景后后调用该函数。
  • 支持版本:3.3.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. 首次拉流时如果因网络原因拉流失败或拉流中断,SDK 会在 20min 内多次尝试重连并拉流。
  1. 在网络质量不佳的情况下,用户拉流可能出现中断,SDK 会尝试重连并拉流,可通过监听 [onPlayerStateUpdate] 事件来获知当前拉流状态以及错误信息。详情请参考 https://doc-zh.zego.im/faq/reconnect
  2. 如果拉取不存在的 "streamID",SDK 会持续尝试拉取,在该 streamID 对应的音视频流被成功推送后,该流可以真正被拉取到。

StopPlayingStream

StopPlayingStream
public abstract void StopPlayingStream(string streamID)
停止拉流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。

详情

停止从 ZEGO RTC 服务器拉取远端用户的音视频流。

  • 业务场景:在实时连麦场景下,开发者可通过监听 [onRoomStreamUpdate] 事件回调来获取所在房间内删除的流信息,并调用此接口传入 "streamID" 进行停止拉流操作。
  • 调用时机:调用 [loginRoom] 加入房间后调用该函数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:1. 停止拉流后对此条流此前设置的属性如 [setPlayVolume]、[mutePlayStreamAudio]、[mutePlayStreamVideo] 等拉流相关的配置都会失效,需要在下次拉流之前重新设置。 2.停止拉流后,iOS平台的视图默认会清除最后一帧,保持为视图的背景色。Android 平台视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。

TakePlayStreamSnapshot

TakePlayStreamSnapshot
public abstract void TakePlayStreamSnapshot(string streamID,OnPlayerTakeSnapshotResult callback)
拉流画面截图。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring要截图的流 ID。
callbackOnPlayerTakeSnapshotResult拉流画面截图结果回调。

详情

对指定拉流ID画面截图。

  • 调用时机:[startPlayingStream]后调用。
  • 相关回调:[onPlayerTakeSnapshotResult] 截图数据回调。
  • 支持版本:1.17.0 及以上。
  • 使用限制:不适用于 WebGL。

SetPlayVolume

SetPlayVolume
public abstract void SetPlayVolume(string streamID,int volume)
设置拉流音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
volumeint音量百分比,取值范围为 0 ~ 200,默认值为 100。

详情

设置拉流的声音大小,本端用户可控制音频流的播放音量。

  • 调用时机:[startPlayingStream] 后调用。
  • 相关接口:[setAllPlayStreamVolume] 设置所有拉流音量。
  • 支持版本:1.16.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:停止拉流后,再次拉流需要重新设置。此函数与 [setAllPlayStreamVolume] 函数相互覆盖,最后一个调用生效。

SetAllPlayStreamVolume

SetAllPlayStreamVolume
public abstract void SetAllPlayStreamVolume(int volume)
设置所有拉流音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
volumeint音量百分比,取值范围为 0 ~ 200,默认值为 100。

详情

此函数用于设置所有拉流的声音大小,本端用户可控制所有音频流的播放音量。

  • 调用时机:[startPlayingStream]后调用。
  • 相关接口:可使用 [setPlayVolume] 设置指定音视频流的音量。
  • 支持版本:2.3.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:与setPlayVolume函数相互覆盖,最后一个调用生效。

SetPlayStreamVideoType

SetPlayStreamVideoType
public abstract void SetPlayStreamVideoType(string streamID,ZegoVideoStreamType streamType)
设置播放视频流类型。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
streamTypeZegoVideoStreamType视频流类型。

详情

当推流方通过 [setVideoConfig] 设置了 codecID 为 SVC 时,拉流方可以动态设置选用不同的流类型(小分辨率为标准图层的二分之一)。

  • 业务场景:一般情况下,在网络较弱或者渲染的 UI 窗体较小的情况下,可以选择使用拉取小分辨率的视频来达到节省带宽的目的。
  • 调用时机:[createEngine] 后可调用。
  • 支持版本:2.3.0 及以上。
  • 使用限制:不适用于 WebGL。

SetPlayStreamBufferIntervalRange

SetPlayStreamBufferIntervalRange
public abstract void SetPlayStreamBufferIntervalRange(string streamID,uint minBufferInterval,uint maxBufferInterval)
设置拉流播放缓存自适应调整的区间范围。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
minBufferIntervaluint缓存自适应区间下限,单位毫秒。默认值为 0ms。
maxBufferIntervaluint缓存自适应区间上限,单位毫秒。默认值为 4000ms。

详情

设置拉流时 SDK 内部缓存自适应调整的区间范围 0-4000ms。

  • 业务场景:一般在网络环境较差的情况下,调整增大拉流的播放缓存,会显著减少音视频卡顿,但会增大延迟。
  • 调用时机:[createEngine] 后。
  • 支持版本:2.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当开发者设置的缓存区间上限超过 4000ms 时,会取值 4000 ms。当开发者设置的缓存区间上限小于缓存区间下限时,会自动将上限取值为下限。

SetPlayStreamFocusOn

SetPlayStreamFocusOn
public abstract void SetPlayStreamFocusOn(string streamID)
设置拉音视频流优先级的权重。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。

详情

设置拉流优先级的权重。

  • 业务场景:当开发者业务上,需要对某流优先保证质量时,可使用此接口。例如:上课场景,学生拉多路流,则可设置老师流高优先级。
  • 调用时机:[startPlayingStream]之后 。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:默认所有流的权重相同。只能设置一路流是高优先级的,以最后设置的为准。流停止之后自动恢复初始状态,所有流的权重相同。在本地网络不好的时候,保证focus流的同时,可能造成其他的卡顿更多。

MutePlayStreamAudio

MutePlayStreamAudio
public abstract void MutePlayStreamAudio(string streamID,bool mute)
拉流是否可接收指定音频数据。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
mutebool拉流时是否可以接收指定远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收指定远端用户的音频数据,当开发者不接收音频收据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [muteAllPlayStreamAudio] 函数控制是否接收所有音频数据。必须当 [muteAllPlayStreamAudio] 和 [mutePlayStreamAudio] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的音频数据:1. 当调用 [muteAllPlayStreamAudio(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的音频数据,此时无论在 [muteAllPlayStreamAudio] 之前还是之后调用 [mutePlayStreamAudio] 函数都不生效。2. 当调用 [muteAllPlayStreamAudio(false)] 函数时,本地用户可以接收所有远端用户的音频数据,此时可再通过 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。调用 [mutePlayStreamAudio(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他音频数据;调用 [mutePlayStreamAudio(false, streamID)] 函数则本地用户可以接收 "streamID" 的音频数据。
  • 支持版本:1.1.0 及以上。
  • 注意事项: 1. 与 [muteAllPlayAudioStreams] 一起使用时,可以互相覆盖配置。
  1. 与 [muteAllPlayStreamAudio] 一起使用时,只有当 [muteAllPlayStreamAudio] 函数设置为 “false”时,此函数才有效。
  2. 停止拉流后对此条流此前设置的属性如 [setPlayVolume]、[mutePlayStreamAudio]、[mutePlayStreamVideo] 等拉流相关的配置都会失效,需要在下次拉流之前重新设置。

MutePlayStreamVideo

MutePlayStreamVideo
public abstract void MutePlayStreamVideo(string streamID,bool mute)
拉流是否可接收指定视频数据。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID。
mutebool拉流时是否可以接收指定远端用户的视频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。SDK 内部自动拉取的流默认值为 false。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收指定远端用户的视频数据,当开发者不接收视频数据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复观看远端视频画面时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [muteAllPlayStreamVideo] 函数控制是否接收所有视频数据。必须当 [muteAllPlayStreamVideo] 和 [mutePlayStreamVideo] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的视频数据:1. 当调用 [muteAllPlayStreamVideo(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的视频数据,此时无论在 [muteAllPlayStreamVideo] 之前还是之后调用 [mutePlayStreamVideo] 函数都不生效。2. 当调用 [muteAllPlayStreamVideo(false)] 函数时,本地用户可以接收所有远端用户的视频数据,此时可再通过 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。调用 [mutePlayStreamVideo(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他视频数据;调用 [mutePlayStreamVideo(false, streamID)] 函数则本地用户可以接收 "streamID" 的视频数据。
  • 支持版本:1.1.0 及以上。
  • 注意事项: 1. 与 [muteAllPlayAudioStreams] 一起使用时,可以互相覆盖配置。
  1. 与 [muteAllPlayStreamVideo] 一起使用时,只有当 [muteAllPlayStreamVideo] 函数设置为 “false”时,此函数才有效。
  2. 当指定不接收视频流数据时,视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。
  3. 停止拉流后对此条流此前设置的属性如 [setPlayVolume]、[mutePlayStreamAudio]、[mutePlayStreamVideo] 等拉流相关的配置都会失效,需要在下次拉流之前重新设置。

MuteAllPlayStreamAudio

MuteAllPlayStreamAudio
public abstract void MuteAllPlayStreamAudio(bool mute)
拉流是否接收所有音频数据。(当设置为true时, 调用[mutePlayStreamAudio]不会生效)
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool拉流时是否可以接收所有远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的音频数据(包括在调用该函数后新加入房间的用户所推的音频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的音频数据。当开发者不接收音频收据时,可降低硬件和网络的开销

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。必须当 [muteAllPlayStreamAudio] 和 [mutePlayStreamAudio] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的音频数据:1. 当调用 [muteAllPlayStreamAudio(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的音频数据,此时无论在 [muteAllPlayStreamAudio] 之前还是之后调用 [mutePlayStreamAudio] 函数都不生效。 2. 当调用 [muteAllPlayStreamAudio(false)] 函数时,本地用户可以接收所有远端用户的音频数据,此时可再通过 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。调用 [mutePlayStreamAudio(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他音频数据;调用 [mutePlayStreamAudio(false, streamID)] 函数则本地用户可以接收 "streamID" 的音频数据。
  • 支持版本:2.4.0 及以上。
  • 使用限制:不适用于 WebGL。

MuteAllPlayAudioStreams

MuteAllPlayAudioStreams
public abstract void MuteAllPlayAudioStreams(bool mute)
拉流是否接收所有音频数据。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool拉流时是否可以接收所有远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的音频数据(包括在调用该函数后新加入房间的用户所推的音频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的音频数据。当开发者不接收音频收据时,可降低硬件和网络的开销

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamAudio] 函数控制是否接收单条音频数据。
  • 支持版本:3.10.0 及以上。
  • 注意事项:此接口在 SDK 生命周期内不能和 [muteAllPlayStreamAudio] 混用。

MuteAllPlayStreamVideo

MuteAllPlayStreamVideo
public abstract void MuteAllPlayStreamVideo(bool mute)
拉流是否可接收所有视频数据。(当设置为true时, 调用[mutePlayStreamVideo]不会生效)
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool拉流时是否可以接收所有远端用户的视频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的视频数据(包括在调用该函数后新加入房间的用户所推的视频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的视频数据。当开发者不接收视频数据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复观看远端视频画面时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。必须当 [muteAllPlayStreamVideo] 和 [mutePlayStreamVideo] 两个函数同时设置为 "false" 时,本地用户拉流时才能接收远端用户的视频数据: 1. 当调用 [muteAllPlayStreamVideo(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的视频数据,此时无论在 [muteAllPlayStreamVideo] 之前还是之后调用 [mutePlayStreamVideo] 函数都不生效。 2. 当调用 [muteAllPlayStreamVideo(false)] 函数时,本地用户可以接收所有远端用户的视频数据,此时可再通过 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。调用 [mutePlayStreamVideo(true, streamID)] 函数则本地用户可以接收该 "streamID" 之外的其他视频数据;调用 [mutePlayStreamVideo(false, streamID)] 函数则本地用户可以接收 "streamID" 的视频数据。
  • 支持版本:2.4.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当指定不接收视频流数据时,视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。

MuteAllPlayVideoStreams

MuteAllPlayVideoStreams
public abstract void MuteAllPlayVideoStreams(bool mute)
拉流是否可接收所有视频数据
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool拉流时是否可以接收所有远端用户的视频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制拉流时是否接收所有远端用户的视频数据(包括在调用该函数后新加入房间的用户所推的视频流)。默认情况下,用户加入房间后可以接收所有远端用户推送的视频数据。当开发者不接收视频数据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复观看远端视频画面时,可调用此函数。相比重新拉流,能极大降低耗时,提升互动体验。
  • 调用时机:在调用 [createEngine] 后可调用此函数。
  • 相关接口:可调用 [mutePlayStreamVideo] 函数控制是否接收单条视频数据。
  • 支持版本:3.10.0 及以上。
  • 注意事项: 1. 此接口在 SDK 生命周期内不能和 [muteAllPlayStreamVideo] 混用。
  1. 当指定不接收视频流数据时,视图默认保持在最后一帧,如果需要清除最后一帧,请联系 ZEGO 技术支持。

EnableHardwareDecoder

EnableHardwareDecoder
public abstract void EnableHardwareDecoder(bool enable)
开/关硬件解码。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启硬解开关,true 表示开启硬解,false 表示关闭硬解。

详情

拉流时是否使用硬件解码,开启硬件解码后 SDK 会使用 GPU 进行解码,降低 CPU 使用率。

  • 业务场景:若开发者在某些机型测试时发现拉大分辨率音视频流时设备发热严重,可考虑调用此函数开启硬件解码的方式。
  • 默认值:未调用此接口时,默认关闭硬解。
  • 调用时机:此函数需要在 [createEngine] 创建实例后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:在拉流前设置才能生效,如果在拉流后设置,停止拉流后重新拉流才生效,此配置生效后,在下次调用生效前一直有效。

EnableCheckPoc

EnableCheckPoc
public abstract void EnableCheckPoc(bool enable)
开/关帧顺序检测。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启帧顺序检测,true 表示开启帧顺序检测,false 表示关闭帧顺序检测。

详情

设置是否开启帧顺序检查。

  • 业务场景:拉cdn的流时,开启帧顺序检测可防止花屏。
  • 默认值:未调用此接口时,默认开启帧顺序检测。
  • 调用时机:此函数需要在 [createEngine] 创建实例后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:拉流过程中关闭顺序检测可能出现短暂花屏。

SetPlayStreamsAlignmentProperty

SetPlayStreamsAlignmentProperty
public abstract void SetPlayStreamsAlignmentProperty(ZegoStreamAlignmentMode mode)
设置拉流对齐属性。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoStreamAlignmentMode设置流对齐模式。

详情

拉流端播放时,控制播放的 RTC 流是否需要精准对齐。若需要,则拉取的所有流中包含精准对齐参数的会进行对齐,若不需要,则所有流都不对齐。

  • 业务场景:常用于 KTV 等需要拉多路流对齐的场景,以保证用户在使用过程中,随时切换 唱歌主播、普通麦上语聊主播、麦下观众多种身份。
  • 默认值:若未调该接口,默认为 不对齐。
  • 调用时机:需要在 [createEngine] 之后调用。重复调用接口,最新设置有效。
  • 相关接口:设置流通道的精准对齐参数 [setStreamAlignmentProperty]。
  • 支持版本:2.14.0 及以上。

UpdatePlayingCanvas

UpdatePlayingCanvas
public abstract int UpdatePlayingCanvas(string streamID,bool enable)
更新拉流视图。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。
enablebool用于控制是否显示拉流画面,设置为 [false] 时不显示视频,只播放音频。

详情

该接口会更新拉流视图。

  • 业务场景:用户可调用该接口更新拉流视图显示视频。
  • 调用时机:从 [onPlayerStateUpdate] 或 [onUserStreamStateUpdate] 回调中收到拉流成功后。
  • 支持版本:3.4.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用错误码文档 https://doc-zh.zego.im/zh/4378.html

StartMixerTask

StartMixerTask
public abstract void StartMixerTask(ZegoMixerTask task,OnMixerStartResult onMixerStartResult)
开始混流任务。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
taskZegoMixerTask混流任务对象。是否必填:是。
onMixerStartResultOnMixerStartResult开始混流任务结果通知。是否必填:否。注意事项:传 [null] 则意味着不接收回调通知。

详情

向 ZEGO RTC 服务器发起混流请求,服务器会寻找当前正在推的流,并根据 SDK 请求的混流任务的参数进行图层混合。当需要更新混流任务时,即输入流增加或减少时需要更新输入流列表,此时可以更新 [ZegoMixerTask] 对象 inputList 的字段并再次调用本函数传入相同的 [ZegoMixerTask] 对象更新混流任务。

  • 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
  • 调用时机:调用 [loginRoom] 登录房间后。
  • 相关回调:可通过 [onMixerRelayCDNStateUpdate] 获取混流转推 CDN 状态更新通知,可通过 [onMixerSoundLevelUpdate] 获取混流中的每条单流的声浪更新通知。
  • 相关接口:可通过 [stopMixerTask] 函数停止混流。
  • 支持版本:1.2.1 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:由于客户端设备的性能考虑,SDK 的混流是在 ZEGO RTC 服务器开启混流任务进行混流。若请求开启混流任务发生异常,例如最常见的混流的输入流不存在,将会从 callback 回调的错误码给出。具体错误码请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html 若中途某条输入流不存在了,混流任务会自动重试拉这条输入流 90 秒,90 秒之后不再重试。若所有输入流均不存在了,90秒之后服务器会自动停止混流任务。

StopMixerTask

StopMixerTask
public abstract void StopMixerTask(ZegoMixerTask task,OnMixerStopResult onMixerStopResult)
停止混流任务。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
taskZegoMixerTask混流任务对象。是否必填:是。
onMixerStopResultOnMixerStopResult停止混流任务结果通知。是否必填:否。注意事项:传 [null] 则意味着不接收回调通知。

详情

向 ZEGO RTC 服务器发起结束混流请求。

  • 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
  • 调用时机:调用 [startMixerTask] 开始混流后。
  • 相关接口:可通过 [startMixerTask] 函数开始混流。
  • 支持版本:1.2.1 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:若开发者在未停止上一个混流任务的情况下启动下一个混流任务,上一个混流任务不会自动停止,直到上一个混流任务的输入流持续 90 秒都不存在之后。在启动下一个混流任务前,应当先停止上一个混流任务,以免当一个主播已经开启下一个混流任务与其他主播混流时,观众依然在拉上一个混流任务的输出流。

StartAutoMixerTask

StartAutoMixerTask
public abstract void StartAutoMixerTask(ZegoAutoMixerTask task,OnMixerStartResult callback)
开始自动混流任务
Declared in ZegoExpressEngine.cs

参数

名称类型描述
taskZegoAutoMixerTask自动混流任务对象
callbackOnMixerStartResult开始自动混流任务结果通知

详情

本地用户可调用该函数开始自动混流任务,对房间内的所有流进行混流,目前仅支持音频流自动混流。启动自动混流后,会自动混流该房间内所有流的音频,此房间内再发起的推流也会自动混入最后的输出流中。

  • 业务场景:常用于语聊房场景下,需要由客户端发起自动混流任务时。
  • 调用时机:在创建引擎后,如果目标房间已经创建,可调用该函数在目标房间开启自动混流。
  • 相关回调:通过 [ZegoMixerStartCallback] 回调,用户可以获取函数执行结果。通过 [onAutoMixerSoundLevelUpdate] 回调,用户可以获取自动混流后声浪信息。
  • 相关接口:可调用 [stopAutoMixerTask] 函数,停止自动混流任务。
  • 支持版本:2.10.0 及以上。
  • 注意事项:在同一个房间内开启下一个自动混流任务前,请先调用 [stopAutoMixerTask] 函数结束上一次自动混流任务,以免造成当一个主播已经开启下一个自动混流任务与其他主播混流时,观众依然在一直拉上一个自动混流任务的输出流的情况。若用户未主动结束当前自动混流任务,该任务将在房间不存在之后或者输入流持续 90 秒不存在之后自动结束。不适用于 WebGL。

StopAutoMixerTask

StopAutoMixerTask
public abstract void StopAutoMixerTask(ZegoAutoMixerTask task,OnMixerStopResult callback)
停止自动混流任务
Declared in ZegoExpressEngine.cs

参数

名称类型描述
taskZegoAutoMixerTask自动混流任务对象
callbackOnMixerStopResult停止自动混流任务结果通知

详情

本地用户可调用该函数结束自动混流任务。

  • 业务场景:常用于语聊房场景下,需要由客户端发起自动混流任务时。
  • 调用时机:在调用 [startAutoMixerTask] 函数开启自动混流任务后可调用该函数。
  • 相关回调:通过 [ZegoMixerStopCallback] 回调,用户可以获取函数执行结果。
  • 相关接口:可调用 [startAutoMixerTask] 函数,开始自动混流任务。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:在同一个房间内调用 [startAutoMixerTask] 函数开启下一个自动混流任务前,请先调用此函数结束上一次自动混流任务,以免造成当一个主播已经开启下一个自动混流任务与其他主播混流时,观众依然在一直拉上一个自动混流任务的输出流的情况。若用户未主动结束当前自动混流任务,该任务将在房间不存在之后或者输入流持续 90 秒不存在之后自动结束。

MuteMicrophone

MuteMicrophone
public abstract void MuteMicrophone(bool mute)
设置是否静音(关闭麦克风)。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool是否静音(关闭麦克风);"true" 表示静音(关闭麦克风);"false" 表示开启麦克风。

详情

此函数用于控制是否使用采集到的音频数据,静音(关闭麦克风)将会使用静音数据替换设备采集到的音频数据进行推流,此时仍然会占用麦克风设备。

  • 业务场景:用户仅关闭麦克风采集的人声,不关闭媒体播放器的音乐声音,可以调用该接口。该接口影响 [onBeforeAudioPrepAudioData]。
  • 默认值:默认为 "false",即不静音。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:若想要真正让 SDK 放弃占用麦克风,例如实现 App 退到后台后释放麦克风占用等功能,可调用 [enableAudioCaptureDevice] 函数开关音频采集设备。可使用 [isMicrophoneMuted] 来检查麦克风是否静音。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

IsMicrophoneMuted

IsMicrophoneMuted
public abstract bool IsMicrophoneMuted()
检查麦克风是否设置为静音。
Declared in ZegoExpressEngine.cs

用于判断麦克风是否被设置为静音。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[muteMicrophone]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。

麦克风是否静音;"true" 表示麦克风静音;"false" 表示麦克风开启中(没有被静音)。

MuteSpeaker

MuteSpeaker
public abstract void MuteSpeaker(bool mute)
设置是否静音(关闭音频输出)。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mutebool是否静音(关闭音频输出);"true" 表示静音(关闭音频输出);"false" 表示开启音频输出。

详情

设置静音后,SDK 所有声音都不会播放,包括拉流、媒体播放器等。

  • 默认值:默认为 "false",即不静音。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

IsSpeakerMuted

IsSpeakerMuted
public abstract bool IsSpeakerMuted()
检查音频输出是否静音。
Declared in ZegoExpressEngine.cs

用于判断音频输出是否静音。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:[muteSpeaker]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

音频输出是否静音;"true" 表示音频输出静音;"false" 表示音频输出开启中(没有被静音)。

GetAudioDeviceList

GetAudioDeviceList
public abstract ZegoDeviceInfo[] GetAudioDeviceList(ZegoAudioDeviceType deviceType)
获取音频设备列表
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型

详情

只适用于 Windows / macOS / Linux,不适用于 WebGL

返回值

音频设备列表

GetAudioDeviceList

GetAudioDeviceList
public abstract void GetAudioDeviceList(ZegoAudioDeviceType deviceType,OnGetAudioDeviceListResult callback)
获取音频设备列表
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
callbackOnGetAudioDeviceListResult音频设备列表回调。

详情

只适用于 Windows / macOS / Linux / WebGL

GetDefaultAudioDeviceID

GetDefaultAudioDeviceID
public abstract string GetDefaultAudioDeviceID(ZegoAudioDeviceType deviceType)
获取默认音频设备 ID
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型

详情

只适用于 Windows / macOS / Linux,不适用于 WebGL

返回值

默认音频设备 ID

UseAudioDevice

UseAudioDevice
public abstract void UseAudioDevice(ZegoAudioDeviceType deviceType,string deviceID)
选择使用某个音频设备
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID

详情

选择使用某个音频设备。

  • 调用时机:在创建引擎 [createEngine] 之后,在推流 [startPublishingStream] 或拉流 [startPlayingStream] 之前调用生效。
  • 支持版本:1.1.0 及以上。
  • 使用限制:仅支持 Windows / macOS / Linux / WebGL

GetAudioDeviceVolume

GetAudioDeviceVolume
public abstract int GetAudioDeviceVolume(ZegoAudioDeviceType deviceType,string deviceID)
获取音频设备音量
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID

详情

获取音频设备音量,只适用于 Windows / macOS / Linux,不适用于 WebGL。

返回值

设备音量

SetAudioDeviceVolume

SetAudioDeviceVolume
public abstract void SetAudioDeviceVolume(ZegoAudioDeviceType deviceType,string deviceID,int volume)
设置音频设备音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID
volumeint设备音量

详情

可能因为系统限制导致直接操作系统设备失败,请优先使用 [setCaptureVolume] 和 [setPlayVolume] 来调节推拉流音量。 只适用于 Windows / macOS / Linux,不适用于 WebGL。

SetSpeakerVolumeInAPP

SetSpeakerVolumeInAPP
public abstract void SetSpeakerVolumeInAPP(string deviceID,int volume)
设置 App 中扬声器的音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID。
volumeint设备音量。

详情

设置 App 中扬声器的音量。 使用场景:需要只调整app的播放音量,并且不要调整系统的播放音量。

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 支持版本:3.3.0 及以上。
  • 使用限制:只适用于 Windows。不适用于 WebGL。
  • 注意事项:可能因为系统限制导致直接操作系统设备失败,请优先使用 [setCaptureVolume] 和 [setPlayVolume] 来调节推拉流音量。

GetSpeakerVolumeInAPP

GetSpeakerVolumeInAPP
public abstract int GetSpeakerVolumeInAPP(string deviceID)
获取 App 中扬声器的音量,只支持 Windows。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID。

详情

获取 App 中扬声器的音量,只支持 Windows。

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 相关接口:设置 App 中扬声器的音量 [setSpeakerVolumeInAPP]。
  • 支持版本:3.3.0 及以上。
  • 使用限制:只适用于 Windows。不适用于 WebGL。

返回值

设备音量。

StartAudioDeviceVolumeMonitor

StartAudioDeviceVolumeMonitor
public abstract void StartAudioDeviceVolumeMonitor(ZegoAudioDeviceType deviceType,string deviceID)
开启音频设备音量监控。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID

详情

启动音频设备音量监控器。当该设备音量发生变更时,会通过 [onAudioDeviceVolumeChanged] 回调变更后的音量。

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 平台差异:仅支持 Windows 和 macOS。
  • 相关接口:当不再需要监控设备音量时,请调用 [stopAudioDeviceVolumeMonitor] 停止监控。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:目前仅支持同时监控一个音频输出设备和一个音频输入设备,多次调用此接口且传入相同的设备类型时将会覆盖上一次调用时此接口设置的设备 ID。

StopAudioDeviceVolumeMonitor

StopAudioDeviceVolumeMonitor
public abstract void StopAudioDeviceVolumeMonitor(ZegoAudioDeviceType deviceType,string deviceID)
停止音频设备音量监控。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID

详情

停止音频设备音量监控器。

  • 调用时机:在创建引擎 [createEngine] 之后,当不再需要监控设备音量时。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

MuteAudioDevice

MuteAudioDevice
public abstract void MuteAudioDevice(ZegoAudioDeviceType deviceType,string deviceID,bool mute)
静音或取消静音音频设备。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID
mutebool是否静音音频设备;"true" 表示静音音频设备;"false" 表示取消静音音频设备。

详情

只适用于 Windows / macOS / Linux。不适用于 WebGL。

SetAudioDeviceMode

SetAudioDeviceMode
public abstract void SetAudioDeviceMode(ZegoAudioDeviceMode deviceMode)
设置音频设备模式。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceModeZegoAudioDeviceMode音频设备模式

详情

根据场景需要选择音频设备模式(仅 Android 和 iOS 支持)。 使用场景:如实时 KTV 场景下,必须使用 General 模式,但是在语聊房场景下,为了避免第三方音乐的声音被采集,所以会要求使用 Communication2 或者 Communication3 模式。如何设置音频设备模式,请参考 https://doc-zh.zego.im/faq/AudioDeviceMod?product=ExpressVideo&platform=macos

  • 调用时机:在创建引擎 [createEngine] 之后。
  • 支持版本:2.22.0 及以上。
  • 注意事项:该接口会触发设备的启动切换,建议不要频繁调用,避免不必要的开销与硬件问题。该接口可能导致音量模式在通话/媒体间切换,若媒体音量和通话音量不一致,可能导致音量变化。

IsAudioDeviceMuted

IsAudioDeviceMuted
public abstract bool IsAudioDeviceMuted(ZegoAudioDeviceType deviceType,string deviceID)
检查音频设备是否静音
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型
deviceIDstring通过 [getAudioDeviceList] 获取的某个设备的 ID

详情

只适用于 Windows / macOS / Linux。不适用于 WebGL。

返回值

音频设备是否静音;"true" 表示音频设备静音;"false" 表示音频设备没有被静音。

EnableAudioCaptureDevice

EnableAudioCaptureDevice
public abstract void EnableAudioCaptureDevice(bool enable)
开/关音频采集设备。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启音频采集设备;"true" 表示打开音频采集设备;"false" 表示关闭音频采集设备。

详情

此函数用于控制是否使用音频采集设备。如果关闭音频采集设备,则 SDK 不会再占用音频设备,当然如果此时正在推流,也不会产生音频数据。 使用场景:当用户从不需要用到音频的时候,可以调用此函数关闭音频采集。

  • 默认值:默认为 "true"。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:硬件上关闭或打开麦克风是耗时操作,用户频繁操作时有一定的性能开销,一般推荐使用 [muteMicrophone]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

GetAudioRouteType

GetAudioRouteType
public abstract ZegoAudioRoute GetAudioRouteType()
获取当前音频路由。
Declared in ZegoExpressEngine.cs

音频路由是指 App 在播放音频时使用的音频输出设备,常见的音频路由有:扬声器、听筒、耳机、蓝牙设备等。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:设置音频路由到扬声器 [setAudioRouteToSpeaker]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

SetAudioRouteToSpeaker

SetAudioRouteToSpeaker
public abstract void SetAudioRouteToSpeaker(bool defaultToSpeaker)
设置音频路由到扬声器。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
defaultToSpeakerbool是否使用内置扬声器播放声音,"true" 表示使用内置扬声器播放声音,"false" 表示使用当前系统调度的优先级最高的音频输出设备播放声音。

详情

是否使用扬声器播放音频,当选择不使用内置扬声器播放声音时,SDK 会根据系统调度选择当前优先级最高的音频输出设备播放声音,常见的音频路由有:听筒、耳机、蓝牙设备等。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:获取当前音频路由 [getAudioRouteType]。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

EnableCamera

EnableCamera
public abstract void EnableCamera(bool enable,ZegoPublishChannel channel)
开/关摄像头,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否打开摄像头;"true" 表示打开摄像头;"false" 表示关闭摄像头。
channelZegoPublishChannel推流通道

详情

此函数用于控制是否启动摄像头的采集,关闭摄像头后,将不会进行视频采集,此时本地预览和推流都将没有视频数据。

  • 默认值:默认为 "true",即打开摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,但此函数依然会影响是否进行编码的行为。因此开发者使用自定义视频采集时,请确保此函数的值为 "true"。

UseFrontCamera

UseFrontCamera
public abstract void UseFrontCamera(bool enable,ZegoPublishChannel channel)
切换前后摄像头,支持指定推流通道。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool[ZegoVideoSourceTypeCamera] 是否采用前置摄像头;true: 表示使用前置摄像头;false: 表示使用后置摄像头。
channelZegoPublishChannel推流通道。

详情

此函数用于控制使用前置摄像头或者后置摄像头(仅 Android 和 iOS 支持)。

  • 默认值:默认为 "true",即使用前置摄像头。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:在开启自定义视频采集功能 [enableCustomVideoCapture] 的情况下,由于开发者接管了视频数据的采集,SDK不再负责视频数据的采集,本函数不再有效。

EnableCameraAdaptiveFPS

EnableCameraAdaptiveFPS
public abstract void EnableCameraAdaptiveFPS(bool enable,int minFPS,int maxFPS,ZegoPublishChannel channel)
开启摄像头自适应帧率
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启摄像头自适应帧率。true 表示开启,false 表示关闭。默认关闭。
minFPSint期望的最小帧率,最小值为 3,推荐 15。单位:fps。
maxFPSint期望的最大帧率,推荐 25。单位:fps。
channelZegoPublishChannel推流通道。

详情

开启后,SDK 根据设置的帧率范围匹配摄像头支持的采集帧率范围,在此范围内根据环境亮度动态调整摄像头采集帧率,提升设置的帧率过高时的画面亮度。

  • 业务场景:推流端用户设置的帧率偏高,所处环境光照较低,无法正常显示或识别主体。比如对曝光要求较高的直播场景。
  • 调用时机:创建引擎 [createEngine] 后,摄像头启动前。
  • 相关接口:通过 [setVideoConfig] 可以设置摄像头采集帧率以及编码器编码帧率。
  • 支持版本:2.20.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当调用 [setVideoConfig] 设置帧率小于期望帧率最小值时,将使用 [setVideoConfig] 设置的帧率值。由于不同的手机厂商的硬件和算法策略不同,该接口在不同的机型或同一机型的前后摄像头上,效果存在一定差异。

UseVideoDevice

UseVideoDevice
public abstract void UseVideoDevice(string deviceID,ZegoPublishChannel channel)
选择使用某个视频设备,支持设置指定推流通道
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceIDstring通过 [getVideoDeviceList] 获取的某个设备的 ID
channelZegoPublishChannel推流通道

详情

只适用于 Windows / macOS / Linux / WebGL

GetVideoDeviceList

GetVideoDeviceList
public abstract ZegoDeviceInfo[] GetVideoDeviceList()
获取视频设备列表
Declared in ZegoExpressEngine.cs

只适用于 Windows / macOS / Linux,不适用于 WebGL

视频设备列表

GetVideoDeviceList

GetVideoDeviceList
public abstract void GetVideoDeviceList(OnGetVideoDeviceListResult callback)
获取视频设备列表
Declared in ZegoExpressEngine.cs

参数

名称类型描述
callbackOnGetVideoDeviceListResult视频设备列表回调。

详情

只适用于 Windows / macOS / Linux / WebGL

GetDefaultVideoDeviceID

GetDefaultVideoDeviceID
public abstract string GetDefaultVideoDeviceID()
获取默认视频设备 ID
Declared in ZegoExpressEngine.cs

只适用于 Windows / macOS / Linux。不适用于 WebGL。

默认视频设备 ID

StartSoundLevelMonitor

StartSoundLevelMonitor
public abstract void StartSoundLevelMonitor(uint millisecond)
启动声浪监控,支持设置监听间隔。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
milliseconduint声浪的监控时间周期,单位为毫秒,取值范围 [100, 3000]。默认 100 ms。

详情

启动监控后可通过 [onCapturedSoundLevelUpdate] 回调接收本地采集音频声浪,以及 [onRemoteSoundLevelUpdate] 回调接收远端拉流音频声浪。开发者可在进入房间之前,调用 [startPreview] 与此函数,并与 [onCapturedSoundLevelUpdate] 结合来判断音频设备是否正常工作。

  • 业务场景:在推拉流过程中,判断麦上的用户谁在说话,并做 UI 展示。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.15.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. [onCapturedSoundLevelUpdate] 与 [onRemoteSoundLevelUpdate] 回调通知周期为参数设置的值,若需要使用声浪进阶功能,请使用同名重载函数(参数类型为 ZegoSoundLevelConfig)代替。 2. 启动声浪监控后,即使未启动本地音频采集,onCapturedSoundLevelUpdate也会有回调,声浪值为0。

StartSoundLevelMonitor

StartSoundLevelMonitor
public abstract void StartSoundLevelMonitor(ZegoSoundLevelConfig config)
启动声浪监控,支持开启进阶功能。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoSoundLevelConfig启动声浪监控的配置。

详情

启动监控后可通过 [onCapturedSoundLevelUpdate] 回调接收本地采集音频声浪,以及 [onRemoteSoundLevelUpdate] 回调接收远端拉流音频声浪。开发者可在进入房间之前,调用 [startPreview] 与此函数,并与 [onCapturedSoundLevelUpdate] 结合来判断音频设备是否正常工作。

  • 业务场景:在推拉流过程中,判断麦上的用户谁在说话,并做 UI 展示。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. [onCapturedSoundLevelUpdate] 与 [onRemoteSoundLevelUpdate] 回调通知周期为参数设置的值。 2. 启动声浪监控后,即使未启动本地音频采集,onCapturedSoundLevelUpdate也会有回调,声浪值为0。

StopSoundLevelMonitor

StopSoundLevelMonitor
public abstract void StopSoundLevelMonitor()
停止声浪监控。
Declared in ZegoExpressEngine.cs

停止监控后将停止回调本地采集以及远端拉流的音频声浪回调。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:可通过 [startSoundLevelMonitor] 启动声浪监控。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

StartAudioSpectrumMonitor

StartAudioSpectrumMonitor
public abstract void StartAudioSpectrumMonitor(uint millisecond)
启动音频频谱监控,支持设置监听间隔。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
milliseconduint音频频谱的监控时间周期,单位为毫秒,最小值为 10。默认 500 ms。

详情

启动监控后可通过 [onCapturedAudioSpectrumUpdate] 回调接收本地采集音频频谱,以及 [onRemoteAudioSpectrumUpdate] 回调接收远端音频声浪。

  • 业务场景:在主播 K 歌场景中,已经推流或拉流的前提下,让主播或观众看到音调与音量变化的动画。
  • 调用时机:在创建引擎 [createEngine] 后。
  • 支持版本:1.15.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:[onCapturedAudioSpectrumUpdate] 与 [onRemoteAudioSpectrumUpdate] 回调通知周期为参数设置的值。

StopAudioSpectrumMonitor

StopAudioSpectrumMonitor
public abstract void StopAudioSpectrumMonitor()
停止音频频谱监控。
Declared in ZegoExpressEngine.cs

停止监控后将停止回调本地采集以及远端拉流的音频频谱回调。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:可通过 [startAudioSpectrumMonitor] 启动音频频谱监控。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。

EnableHeadphoneMonitor

EnableHeadphoneMonitor
public abstract void EnableHeadphoneMonitor(bool enable)
开启/关闭 耳返。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebooltrue: 开启耳返, false: 关闭耳返。

详情

开启耳返,用户使用麦克风采集声音时会听到自己的声音。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 默认值:关闭。
  • 支持版本:1.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. 同时连接耳机和麦克风时该设置才实际生效。 2. 耳返默认是在采集之后、前处理之前返回,如果需要在前处理之后返回请咨询 ZEGO 技术支持。

SetHeadphoneMonitorVolume

SetHeadphoneMonitorVolume
public abstract void SetHeadphoneMonitorVolume(int volume)
设置耳返音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
volumeint采集耳返音量大小,取值 [0, 200],默认 60。

详情

设置耳返音量。

  • 调用时机:在创建引擎 [createEngine] 后。
  • 相关接口:可通过 [enableHeadphoneMonitor] 开关耳返。
  • 支持版本:1.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:同时连接耳机和麦克风时该设置才实际生效。

EnableMixSystemPlayout

EnableMixSystemPlayout
public abstract void EnableMixSystemPlayout(bool enable)
开启/关闭系统声卡采集。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebooltrue: 开启声卡采集, false: 关闭声卡采集

详情

开启声卡采集,将系统播放的声音混入推流中,如浏览器播放的声音、第三方播放器软件播放的声音等。

  • 默认值:默认关闭。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关接口:[setMixSystemPlayoutVolume] 设置系统声卡采集的音量。
  • 平台差异:仅支持 Windows、macOS。
  • 支持版本:1.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:系统声卡声音不包含拉流声音、媒体播放器声音和音效播放器声音。

SetMixSystemPlayoutVolume

SetMixSystemPlayoutVolume
public abstract void SetMixSystemPlayoutVolume(int volume)
设置系统声卡采集的音量。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
volumeint声卡采集音量。有效范围 [0, 200],默认为 100。

详情

设置系统声卡采集的音量。

  • 业务场景:用户需要调整系统声卡采集的音量大小。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关接口:[enableMixSystemPlayout] 开启或关闭声卡采集。
  • 平台差异:仅支持 Windows、macOS。
  • 支持版本:2.4.0 及以上。
  • 使用限制:无。

GetCurrentAudioDevice

GetCurrentAudioDevice
public abstract ZegoDeviceInfo GetCurrentAudioDevice(ZegoAudioDeviceType deviceType)
获取当前使用的音频设备信息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
deviceTypeZegoAudioDeviceType音频设备类型。是否必填:是。

详情

获取当前使用的音频设备信息。

  • 业务场景:用于需要手动在多个音频设备间切换的场景。
  • 调用时机:调用 [startPublishingStream] 或 [startPreview] 后调用此函数。
  • 相关接口:可通过 [getDefaultAudioDeviceID] 获取默认音频设备 ID。
  • 支持版本:2.12.0 及以上。
  • 使用限制:仅支持 Windows 和 macOS。不适用于 WebGL。

返回值

音频设备信息。

EnableAEC

EnableAEC
public abstract void EnableAEC(bool enable)
是否开启回声消除。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启回声消除;true 表示开启;false 表示关闭

详情

打开回声消除, SDK 会对采集到的音频数据进行过滤以降低音频中的回音成分。

  • 业务场景:当需要降低回声以提高通话质量和用户体验时,可以开启此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:开发者可通过 [enableHeadphoneAEC] 以设置当使用耳机时是否也开启回声消除;可通过 [setAECMode] 设置回声消除的模式。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:回声消除功能仅支持处理经过 SDK 播放的声音,例如拉流、媒体播放器、音效播放器等功能播放的声音。未调用此函数前,SDK 内部会自动判断是否需要使用 AEC,一旦调用了此函数则不再自动判断。

EnableHeadphoneAEC

EnableHeadphoneAEC
public abstract void EnableHeadphoneAEC(bool enable)
是否在使用耳机时开启回声消除。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启;true 表示开启;false 表示关闭。

详情

当使用 [enableAEC] 开启了回声消除后,对于移动端设备来说只在使用扬声器时开启。如果需要在使用耳机时开启或者关闭回声消除,请调用此函数。

  • 业务场景:当移动端设备连接了一个外置声卡作为音频输出源时,为了消除这种情况下的回声,需要调用此函数开启回声消除。
  • 默认值:Android 默认关闭,iOS 默认开启。
  • 调用时机:需要在 [createEngine] 之后,[startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用。
  • 相关接口:不使用耳机时可通过 [enableAEC] 设置 SDK 是否开启回声消除。
  • 平台差异:仅支持 iOS 和 Android。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:开启回声消除会增加耳返延迟。在 iOS 平台,SDK 内部无法区分耳机跟外置声卡,如果使用此函数关闭使用耳机时的系统回声消除,则在用户接入外部声卡时会采集外部声卡播放的声音,导致回声问题。

SetAECMode

SetAECMode
public abstract void SetAECMode(ZegoAECMode mode)
设置回声消除模式
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoAECMode回声消除模式

详情

当使用 [enableAEC] 开启了回声消除后,可通过此函数切换不同的回声消除模式以控制消除回声数据的程度。

  • 业务场景:当默认的回声消除效果不符合预期时,可通过此函数调整回声消除模式。
  • 默认值:未调用此函数时,默认的回声消除模式为 [Aggressive] 激进模式。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:仅在开启了回声消除功能后此函数设置的值才有效。不适用于 WebGL。

EnableAGC

EnableAGC
public abstract void EnableAGC(bool enable)
开/关自动增益控制
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启自动增益控制;true 表示开启;false 表示关闭

详情

开启该功能后,SDK 能够自动调节麦克风音量,适应远近拾音,保持音量稳定。

  • 业务场景:当需要保障音量稳定性以提高通话质量和用户体验时,可以开启此功能。
  • 调用时机:需要在 [createEngine] 之后,[startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用。注意 Mac 端需要在 [startPreview] 之后,[startPublishingStream] 之前调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:未调用此函数前,SDK 内部会自动判断是否需要使用 AGC,一旦调用了此函数则不再自动判断。

EnableANS

EnableANS
public abstract void EnableANS(bool enable)
开/关噪声抑制
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启噪声抑制;true 表示开启噪声抑制;false 表示关闭噪声抑制

详情

开启该功能后,可以使人声更加清晰。

  • 业务场景:当需要抑制噪声以提高通话质量和用户体验时,可以开启此功能。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:此功能对持续性的噪声(例如下雨声等白噪音)抑制效果较好,如果需要抑制瞬态噪声,请使用 [enableTransientANS];可通过 [setANSMode] 设置噪声抑制的模式。
  • 支持版本:1.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:未调用此函数前,SDK 内部会自动判断是否需要使用 ANS,一旦调用了此函数则不再自动判断。

EnableTransientANS

EnableTransientANS
public abstract void EnableTransientANS(bool enable)
开/关瞬态噪声抑制
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启瞬态噪声抑制;true 表示开启;false 表示关闭

详情

用于抑制敲击键盘、桌子等瞬态噪声。

  • 业务场景:当需要抑制瞬态噪声以提高通话质量和用户体验时,可以开启此功能。
  • 默认值:未调用此函数时,默认不开启瞬态噪声抑制。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 相关接口:此函数开启后不会抑制常规噪声,如果需要开启常规噪声抑制,请使用 [enableANS]
  • 支持版本:1.17.0 及以上。
  • 使用限制:不适用于 WebGL。

SetANSMode

SetANSMode
public abstract void SetANSMode(ZegoANSMode mode)
设置音频噪声抑制模式
Declared in ZegoExpressEngine.cs

参数

名称类型描述
modeZegoANSMode噪声抑制模式

详情

当使用 [enableANS] 开启了噪声抑制后,可通过此函数切换不同的噪声抑制模式以控制抑制噪声数据的程度。

  • 业务场景:当默认的噪声抑制效果不符合预期时,可通过此函数调整噪声抑制模式。
  • 默认值:未调用此函数时,默认的回声消除模式为 [Medium] 中等模式。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:仅在开启了噪声抑制功能后此函数设置的值才有效。不适用于 WebGL。

StartEffectsEnv

StartEffectsEnv
public abstract void StartEffectsEnv()
开启 Effects 美颜环境。
Declared in ZegoExpressEngine.cs

开启 Effects 美颜环境。SDK 内部会使用固定的视频帧数据类型进行传输,Windows 平台只支持视频帧裸数据, Apple 平台只支持 CVPixelBuffer,Android 平台只支持 texture2d。

  • 业务场景:常用于视频通话、直播等场景。
  • 默认值:未调用此函数时,默认不启动美颜环境。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:[enableEffectsBeauty] 开关美颜,[setEffectsBeautyParam] 设置美颜参数。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数只支持 Android 系统 5.0 及以上,Android SDK 版本 21 及以上。不适用于 WebGL。
  • 注意事项:此美颜功能为基础功能,如不符合开发者的预期,可使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。

StopEffectsEnv

StopEffectsEnv
public abstract void StopEffectsEnv()
关闭 Effects 美颜环境。
Declared in ZegoExpressEngine.cs

关闭 Effects 美颜环境。

  • 业务场景:常用于视频通话、直播等场景。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:[enableEffectsBeauty] 开关美颜,[setEffectsBeautyParam] 设置美颜参数。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数只支持 Android 系统 5.0 及以上,Android SDK 版本 21 及以上。不适用于 WebGL。
  • 注意事项:此美颜功能为基础功能,如不符合开发者的预期,可使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。

EnableEffectsBeauty

EnableEffectsBeauty
public abstract void EnableEffectsBeauty(bool enable)
开启或关闭美颜效果。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启美颜效果,true 开启;false 关闭,默认为 false。

详情

支持基础美颜功能,包括美白、红润、磨皮、锐化。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:必须在调用 [startEffectsEnv] 开启美颜环境后才能调用此函数。
  • 默认值:未调用此函数时,默认不开启美颜效果。
  • 相关接口:可调用 [setEffectsBeautyParam] 函数调整美颜参数。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数如果使用在 Android 平台上只支持 5.0 及以上,SDK 版本 21 及以上。不适用于 WebGL。
  • 注意事项:此美颜功能为基础功能,如不符合开发者的预期,可使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。

SetEffectsBeautyParam

SetEffectsBeautyParam
public abstract void SetEffectsBeautyParam(ZegoEffectsBeautyParam param)
设置美颜效果参数。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
paramZegoEffectsBeautyParam美颜选项参数。

详情

设置美颜参数,包括美白、红润、磨皮、锐化。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:必须在调用 [startEffectsEnv] 开启美颜环境后才能调用此函数。
  • 相关接口:可调用 [enableEffectsBeauty] 开启或关闭美颜效果。
  • 支持版本:2.16.0 及以上。
  • 使用限制:此函数只支持 Android 系统 5.0 及以上,Android SDK 版本 21 及以上。不适用于 WebGL。

SetAudioEqualizerGain

SetAudioEqualizerGain
public abstract void SetAudioEqualizerGain(int bandIndex,float bandGain)
设置音效均衡器(EQ)。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
bandIndexint频谱子带索引,取值范围 [0, 9],分别对应 10 个频带,中心频率分别是 [31, 62, 125, 250, 500, 1K, 2K, 4K, 8K, 16K] Hz。
bandGainfloat指定频带的增益值,取值范围 [-15, 15],默认值为 0,如果所有频带的增益值全部为 0,即关闭 EQ 功能。

详情

可通过调用本函数设置音效均衡器调整音色。

  • 业务场景:通常用于语聊房、KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:1.12.0 及以上。
  • 使用限制:不适用于 WebGL。

SetVoiceChangerPreset

SetVoiceChangerPreset
public abstract void SetVoiceChangerPreset(ZegoVoiceChangerPreset preset)
通过预设枚举设置变声。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
presetZegoVoiceChangerPreset变声预设枚举。

详情

可通过调用本函数设置预设变声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口: 如需自定义变声效果,可使用 [setVoiceChangerParam]。 本函数与 [setReverbPreset] 同时使用效果可能和预期有差异,如需同时使用,建议先开启变声,再开启混响。 使用机器人或空灵预设变声效果时,会修改混响或混响回声参数。因此,在使用上述预设变声效果后调用 [setVoiceChangerParam], [setReverbAdvancedParam], [setReverbEchoParam] 等函数可能影响变声效果。 如需自定义混响/回声/变声/电音效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam], [setElectronicEffects] 四个函数组合配置使用。
  • 支持版本:1.17.0 及以上。
  • 使用限制:不适用于 WebGL。

SetVoiceChangerParam

SetVoiceChangerParam
public abstract void SetVoiceChangerParam(ZegoVoiceChangerParam param)
设置变声的具体参数。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
paramZegoVoiceChangerParam变声参数。

详情

可通过调用本函数设置自定义变声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口: 如需使用常见的变声效果,可使用 [setVoiceChangerPreset] 函数。 如需自定义混响/回声/变声效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合配置使用。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

SetReverbPreset

SetReverbPreset
public abstract void SetReverbPreset(ZegoReverbPreset preset)
通过预设枚举设置混响。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
presetZegoReverbPreset混响预设枚举。

详情

可通过调用本函数设置预设混响效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。支持推流过程中调用本函数动态设置混响效果。
  • 相关接口: 如需自定义混响效果,请使用 [setReverbAdvancedParam]。 本函数与 [setVoiceChangerPreset] 同时使用效果可能和预期有差异,如需同时使用,建议先开启变声,再开启混响。 如需自定义混响/回声/变声效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合配置使用。
  • 支持版本:1.17.0 及以上。
  • 使用限制:不适用于 WebGL。

SetReverbAdvancedParam

SetReverbAdvancedParam
public abstract void SetReverbAdvancedParam(ZegoReverbAdvancedParam param)
设置混响的具体参数。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
paramZegoReverbAdvancedParam混响高级参数。

详情

可通过调用本函数设置自定义混响效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口: 如需使用常见的混响效果,可使用 [setReverbPreset] 函数。 如需自定义混响/回声/变声效果可通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合配置使用。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:推流过程中动态设置不同的值都会生效,当全部参数都设置成 0 时,混响关闭。

SetReverbEchoParam

SetReverbEchoParam
public abstract void SetReverbEchoParam(ZegoReverbEchoParam param)
设置混响回声效果的具体参数。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
paramZegoReverbEchoParam混响回声效果参数。

详情

可通过调用本函数设置混响回声效果。可搭配变声、混响以实现自定义各式各样的声音效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口:如需自行配置混响/回声/变声效果请通过 [setReverbAdvancedParam], [setReverbEchoParam], [setVoiceChangerParam] 三个函数组合使用。
  • 支持版本:1.17.0 及以上。
  • 使用限制:不适用于 WebGL。

EnableVirtualStereo

EnableVirtualStereo
public abstract void EnableVirtualStereo(bool enable,int angle)
开启或关闭推流时的虚拟立体声效果。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebooltrue 代表开启虚拟立体声,false 代表关闭虚拟立体声。
angleint虚拟立体声中声源的角度,范围为 -1 ~ 360,90 为正前方,0 / 180 / 270 分别对应最右边 / 最左边 / 正后方;特别的,设置 -1 时为全方位虚拟立体声效果。

详情

可通过调用本函数开启/关闭推流时的虚拟立体声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:1.10.0 及以上;注意:从 2.15.0 版本开始,角度参数支持设置 -1 以呈现全方位虚拟立体声效果。
  • 使用限制:不适用于 WebGL。
  • 注意事项:需要调用 [setAudioConfig] 设置双声道后虚拟立体声才能生效。

EnablePlayStreamVirtualStereo

EnablePlayStreamVirtualStereo
public abstract void EnablePlayStreamVirtualStereo(bool enable,int angle,string streamID)
开启或关闭拉流时的虚拟立体声效果。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebooltrue 代表开启虚拟立体声,false 代表关闭虚拟立体声。
angleint虚拟立体声中声源的角度,范围为 0 ~ 360,90 为正前方,0 / 180 / 270 分别对应最右边 / 最左边 / 正后方。
streamIDstring流 ID。

详情

可通过调用本函数开启/关闭拉流时的虚拟立体声效果。

  • 业务场景:通常用于直播、语聊房和 KTV 等场景。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:2.8.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:在拉流之前和之后可以动态切换和设置角度参数。停止拉流后,虚拟立体声会自动重置和关闭。

SetElectronicEffects

SetElectronicEffects
public abstract void SetElectronicEffects(bool enable,ZegoElectronicEffectsMode mode,int tonal)
开启或关闭电音效果。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebooltrue 代表开启电音效果,false 代表关闭电音效果。
modeZegoElectronicEffectsMode电音参考的调式。
tonalint电音在某个调式下的起始音高,代表声音一个八度的12个半音,取值范围 [0, 11]。

详情

可通过调用本函数开启/关闭电音效果。

  • 业务场景:通常用于直播、语聊房和清唱场景。
  • 默认值:未调用此接口时,默认关闭电音效果。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 相关接口:可通过 [setVoiceChangerPreset] 设置常见电音配置。
  • 支持版本:2.13.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当 mode 参数为和声小调时,tonal 参数不生效。

EnableColorEnhancement

EnableColorEnhancement
public abstract void EnableColorEnhancement(bool enable,ZegoColorEnhancementParams param,ZegoPublishChannel channel)
开启色彩增强。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启;true 表示开启;false 表示关闭。
paramZegoColorEnhancementParams色彩增强参数。
channelZegoPublishChannel推流通道。

详情

可通过调用本函数开启/关闭色彩增强。

  • 业务场景:常用于视频通话、直播等场景。
  • 默认值:未调用此接口时,默认关闭色彩增强。
  • 调用时机:需要在 [createEngine] 之后调用才有效。
  • 支持版本:3.11.0 及以上。

CreateRealTimeSequentialDataManager

CreateRealTimeSequentialDataManager
public abstract ZegoRealTimeSequentialDataManager CreateRealTimeSequentialDataManager(string roomID)
创建实时有序数据管理器对象
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring填写已经登录过的房间 ID,后续所有实时有序数据业务都将在此房间中开展。

详情

创建一个用于发送/接受实时有序数据的管理器对象。

  • 业务场景:需要使用实时有序数据以实现诸如云游戏、远程桌面等业务时可以使用此功能。
  • 调用时机:登录房间 [loginRoom] 之后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:能且仅能为每个已 [loginRoom] 的房间 ID 创建一个对应的管理器对象,即在单房间模式下仅能创建一个对象,多房间模式下可创建多个对象。不适用于 WebGL。
  • 注意事项:无。

返回值

实时有序数据管理器对象,超过最大数量限制后将返回 null

DestroyRealTimeSequentialDataManager

DestroyRealTimeSequentialDataManager
public abstract void DestroyRealTimeSequentialDataManager(ZegoRealTimeSequentialDataManager manager)
销毁实时有序数据管理器对象
Declared in ZegoExpressEngine.cs

参数

名称类型描述
managerZegoRealTimeSequentialDataManager需要销毁的实时有序数据管理器对象

详情

销毁 [ZegoRealTimeSequentialDataManager] 实时有序数据管理器对象。

  • 业务场景:不再需要使用实时有序数据功能时,可通过此函数销毁 [createRealTimeSequentialDataManager] 函数创建出来的实例对象。
  • 调用时机:当需要销毁实时有序数据管理器对象时。
  • 支持版本:2.14.0 及以上。
  • 使用限制:销毁后,开发者需要自行释放持有的 [ZegoRealTimeSequentialDataManager] 实例对象,并且销毁后也不要再调用此实例对象的函数。不适用于 WebGL。
  • 注意事项:无。

SendBroadcastMessage

SendBroadcastMessage
public abstract void SendBroadcastMessage(string roomID,OnIMSendBroadcastMessageResult onIMSendBroadcastMessageResult,string message)
发送房间广播消息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
onIMSendBroadcastMessageResultOnIMSendBroadcastMessageResult发送广播消息结果通知。是否必填:否。注意事项:传 [null] 则意味着不接收回调通知。
messagestring消息内容。是否必填:是。取值范围:长度不超过 1024 字节。

详情

向房间发送广播消息,已经登录相同房间的用户能收到消息,消息可靠。

  • 业务场景:一般在直播房间内使用。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:可通过 [onIMRecvBroadcastMessage] 接收到房间广播消息。
  • 相关接口:可通过 [sendBarrageMessage] 函数发送弹幕消息,可通过 [sendCustomCommand] 函数发送自定义信令。
  • 支持版本:1.2.1 及以上。
  • 使用限制:同一房间内的广播消息发送频率不能高于 10条/s。单个用户在客户端调用此接口的最大QPS为2,关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。不适用于 WebGL。

SendBarrageMessage

SendBarrageMessage
public abstract void SendBarrageMessage(string roomID,OnIMSendBarrageMessageResult onIMSendBarrageMessageResult,string message)
发送房间弹幕消息。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
onIMSendBarrageMessageResultOnIMSendBarrageMessageResult发送弹幕消息结果通知。是否必填:否。注意事项:传 [null] 则意味着不接收回调通知。
messagestring消息内容。是否必填:是。取值范围:长度不超过 1024 字节。

详情

向房间发送弹幕消息,已经登录相同房间的用户能收到消息,消息不可靠。

  • 业务场景:一般用于房间内有大量消息收发,且不需要保证消息可靠性的场景,例如直播弹幕。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:可通过 [onIMRecvBarrageMessage] 接收到房间弹幕消息。
  • 相关接口:可通过 [sendBroadcastMessage] 函数发送广播消息,可通过 [sendCustomCommand] 函数发送自定义信令。
  • 支持版本:1.5.0 及以上。
  • 使用限制:同一房间内的弹幕消息发送频率不能高于 20条/s。关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。不适用于 WebGL。

SendCustomCommand

SendCustomCommand
public abstract void SendCustomCommand(string roomID,string command,OnIMSendCustomCommandResult onIMSendCustomCommandResult,List<ZegoUser> toUserList)
发送自定义信令。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
roomIDstring房间 ID,不得为空,最大长度小于 128 字节的字符串。
注意事项:
1.房间 ID 由您自己定义。
2. 仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。
3. 如果需要与 Web SDK 互通,请不要使用 '%'。
commandstring自定义信令内容。是否必填:是。取值范围:最大长度为 1024 字节。注意事项:为保护隐私,请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
onIMSendCustomCommandResultOnIMSendCustomCommandResult发送信令结果通知。是否必填:否。注意事项:传 [null] 则意味着不接收回调通知。
toUserListList<ZegoUser>信令的接收者列表。是否必填:是。取值范围:用户列表或者 [null]。注意事项:为 [null] 时 SDK 回向房间内所有用户发送自定义信令。

详情

向已经登录相同房间的其他用户发送点对点的信令,消息可靠。

  • 业务场景:一般用于远程控制信令或用户与用户之间的消息发送。
  • 调用时机:调用 [loginRoom] 登录房间之后。
  • 相关回调:可通过 [onIMRecvCustomCommand] 接收到房间自定义信令。
  • 相关接口:可通过 [sendBroadcastMessage] 函数发送广播消息,可通过 [sendBarrageMessage] 函数发送弹幕消息。
  • 隐私保护声明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 支持版本:1.2.1 及以上。
  • 使用限制:同一房间内向单个用户发送的自定义消息频率不能高于 200条/s,向多个用户发送的自定义消息不能高于 10条/s。关于此函数的使用限制,请参考 https://doc-zh.zego.im/article/7581 或联系 ZEGO 技术支持。不适用于 WebGL。

CreateMediaPlayer

CreateMediaPlayer
public abstract ZegoMediaPlayer CreateMediaPlayer()
创建媒体播放器实例对象。
Declared in ZegoExpressEngine.cs

创建媒体播放器实例对象。

  • 业务场景:常用于播放媒体资源场景,例如播放视频文件,结合自定义视频采集将媒体资源的视频数据推送出去,远端可拉流观看。
  • 调用时机:在初始化 SDK [createEngine] 之后。
  • 相关接口:用户可以调用 [destroyMediaPlayer] 销毁媒体播放器实例对象。
  • 支持版本:2.1.0 及以上。
  • 使用限制:目前最多支持创建 4 个实例,超过后将返回 null。
  • 注意事项:媒体播放器的实例越多,对设备的性能开销越大。

媒体播放器实例,超过最大数量限制后将返回 null。

DestroyMediaPlayer

DestroyMediaPlayer
public abstract void DestroyMediaPlayer(ZegoMediaPlayer mediaPlayer)
销毁媒体播放器实例对象。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
mediaPlayerZegoMediaPlayer媒体播放器实例对象。

详情

销毁媒体播放器实例对象。

  • 相关接口:用户可以调用 [createMediaPlayer] 创建媒体播放器实例对象。
  • 支持版本:2.1.0 及以上。

CreateAudioEffectPlayer

CreateAudioEffectPlayer
public abstract ZegoAudioEffectPlayer CreateAudioEffectPlayer()
创建音效播放器实例对象。
Declared in ZegoExpressEngine.cs

创建音效播放器实例对象。

  • 业务场景:当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用音效播放器来实现。
  • 调用时机:在 [createEngine] 之后可调用。
  • 相关接口:[destroyAudioEffectPlayer]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:目前最多支持创建 1 个实例,超过后将返回 null。不适用于 WebGL。

音效播放器实例,超过最大数量限制后将返回 null。

DestroyAudioEffectPlayer

DestroyAudioEffectPlayer
public abstract void DestroyAudioEffectPlayer(ZegoAudioEffectPlayer audioEffectPlayer)
销毁音效播放器实例对象。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
audioEffectPlayerZegoAudioEffectPlayer音效播放器实例对象。

详情

销毁指定的音效播放器实例对象。

  • 调用时机:在 [createAudioEffectPlayer] 之后可调用。
  • 相关接口:[createAudioEffectPlayer]。
  • 支持版本:1.16.0 及以上。
  • 使用限制:不适用于 WebGL。

StartRecordingCapturedData

StartRecordingCapturedData
public abstract void StartRecordingCapturedData(ZegoDataRecordConfig config,ZegoPublishChannel channel)
开始本地录制,直接将音视频数据录制到本地文件。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoDataRecordConfig录制配置对象。
channelZegoPublishChannel推流通道。

详情

开始录制本端音频或音视频,直接将音视频数据录制到本地文件,录制的数据将与该通道推流的数据一致。

  • 相关回调:开始录制后将会收到 [onCapturedDataRecordStateUpdate] 录制状态回调和 [onCapturedDataRecordProgressUpdate] 录制进度回调。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:录制过程中不可以停止预览 [stopPreview] 或停止推流 [stopPublishingStream],否则 SDK 将主动结束当前录制任务。媒体播放器的数据需要混入到推流中才能录制。

StopRecordingCapturedData

StopRecordingCapturedData
public abstract void StopRecordingCapturedData(ZegoPublishChannel channel)
结束录制本端音频或音视频。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

结束录制本端音频或音视频。

  • 调用时机:在 [startRecordingCapturedData] 之后。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

GetNetworkTimeInfo

GetNetworkTimeInfo
public abstract ZegoNetworkTimeInfo GetNetworkTimeInfo()
获取同步网络时间信息。
Declared in ZegoExpressEngine.cs

获取当前网络时间(NTP),包括当前网络时间的时间戳和最大误差。

  • 业务场景:在进行多端行为同步时,需要获取同步网络时间对当前时间进行校准。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:2.9.0 及以上。
  • 使用限制:不适用于 WebGL。

EnableCustomVideoRender

EnableCustomVideoRender
public abstract void EnableCustomVideoRender(bool enable,ZegoCustomVideoRenderConfig config)
开始或停止自定义视频渲染。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启
configZegoCustomVideoRenderConfig自定义渲染配置

详情

enable 为 "true" 时开启视频自定义渲染,为 "false" 时关闭视频自定义渲染。

  • 业务场景:使用美颜功能或 App 使用了跨平台界面框架(例如 Qt 需要有复杂层级关系的界面以实现高体验的交互)或游戏引擎(例如 Unity, Unreal Engine, Cocos)等。
  • 默认值:没有调用该函数时,默认关闭自定义视频渲染。
  • 调用时机:[createEngine]之后,调用 [startPreview]、[startPublishingStream]、[startPlayingStream]、[createRealTimeSequentialDataManager] 之前设置,且调用 [logoutRoom] 之后才能修改配置。
  • 相关回调:调用 [setCustomVideoRenderHandler] 可设置回调用于获取视频帧数据。[onCapturedVideoFrameRawData] 本地预览视频帧数据回调,[onRemoteVideoFrameRawData] 远端拉流视频帧数据回调。
  • 支持版本:1.9.0 及以上。
  • 注意事项:自定义视频渲染功能可以与自定义视频采集功能同时使用,但当两者同时开启时,自定义视频渲染的本地采集帧回调将不会再被触发,开发者应该直接在自定义视频采集源里直接获取采集视频帧。

EnableCustomVideoCapture

EnableCustomVideoCapture
public abstract void EnableCustomVideoCapture(bool enable,ZegoCustomVideoCaptureConfig config,ZegoPublishChannel channel)
开始或停止自定义视频采集,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启
configZegoCustomVideoCaptureConfig自定义采集配置
channelZegoPublishChannel推流通道

详情

enable 为 "true" 时开启视频自定义采集,为 "false" 时关闭视频自定义采集。

  • 业务场景:开发者开发的 App使用了第三方美颜厂商的美颜 SDK,直播非摄像头采集的数据等。
  • 默认值:没有调用该函数时,默认关闭自定义视频采集。
  • 调用时机:[createEngine] 之后,调用 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前。如果需要修改配置,请先调用 [logoutRoom] 登出房间。
  • 相关回调:当开发者开启自定义采集时,通过调用 [setCustomVideoCaptureHandler] 可设置接收自定义采集启停事件通知。
  • 支持版本:1.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:自定义视频渲染功能可以与自定义视频采集功能同时使用,但当两者同时开启时,自定义视频渲染的本地采集帧回调将不会再被触发,开发者应该直接在自定义视频采集源里直接获取采集视频帧。

SendCustomVideoCaptureRawData

SendCustomVideoCaptureRawData
public abstract void SendCustomVideoCaptureRawData(byte[] data,uint dataLength,ZegoVideoFrameParam param,ulong referenceTimeMillisecond,ZegoPublishChannel channel)
给 SDK 发送自定义采集的视频帧原始数据,支持其他路推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
databyte[]要向 SDK 发送的视频帧数据
dataLengthuint视频帧数据长度
paramZegoVideoFrameParam视频帧的参数
referenceTimeMillisecondulong视频帧的索引时间,UNIX 时间戳,单位为毫秒
channelZegoPublishChannel推流通道

详情

向SDK发送自定义采集的视频帧原始数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用此接口必须是 [enableCustomVideoCapture] 传递的参数类型为 RAW_DATA。

SendCustomVideoCaptureRawData

SendCustomVideoCaptureRawData
public abstract void SendCustomVideoCaptureRawData(IntPtr data,uint dataLength,ZegoVideoFrameParam param,ulong referenceTimeMillisecond,ZegoPublishChannel channel)
给 SDK 发送自定义采集的视频帧原始数据,支持其他路推流
Declared in ZegoExpressEngine.cs

参数

名称类型描述
dataIntPtr要向 SDK 发送的视频帧数据
dataLengthuint视频帧数据长度
paramZegoVideoFrameParam视频帧的参数
referenceTimeMillisecondulong视频帧的索引时间,UNIX 时间戳,单位为毫秒
channelZegoPublishChannel推流通道

详情

向SDK发送自定义采集的视频帧原始数据。

  • 调用时机:收到 [onStart] 通知之后,开发者开始采集后调用,在 [onStop] 通知之后结束调用。
  • 相关接口:[enableCustomVideoCapture]、[setCustomVideoCaptureHandler]。
  • 支持版本:1.9.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用此接口必须是 [enableCustomVideoCapture] 传递的参数类型为 RAW_DATA。

EnableCustomVideoProcessing

EnableCustomVideoProcessing
public abstract void EnableCustomVideoProcessing(bool enable,ZegoCustomVideoProcessConfig config,ZegoPublishChannel channel)
自定义视频前处理配置开关,支持指定推流通道号。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启。是否必填:是。
configZegoCustomVideoProcessConfig自定义视频前处理配置。是否必填:是。注意事项:传 null 则使用平台默认值。
channelZegoPublishChannel推流通道。是否必填:否。默认值:主推流通道。

详情

当开发者开启自定义前处理时,通过调用 [setCustomVideoProcessHandler] 可设置设置自定义视频前处理回调。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 默认值:默认关闭。
  • 调用时机:必须在调用 [startPreview]、[startPublishingStream]、[createRealTimeSequentialDataManager] 之前设置。如果需要修改配置,请先调用 [logoutRoom] 登出房间,否则不会生效。
  • 相关接口:调用 [setCustomVideoProcessHandler] 函数可设置设置自定义视频前处理回调。
  • 支持版本:2.2.0 及以上(Android/iOS/macOS原生),2.4.0 及以上(Windows/macOS C++)。
  • 使用限制:不适用于 WebGL。

SendCustomVideoProcessedRawData

SendCustomVideoProcessedRawData
public abstract void SendCustomVideoProcessedRawData(ref IntPtr data,ref uint dataLength,ZegoVideoFrameParam param,ulong referenceTimeMillisecond,ZegoPublishChannel channel)
将自定义视频前处理后的原始视频数据发送给 SDK,支持其他路推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
dataref IntPtr原始视频数据。RGB 格式数据存放位置为 data[0],YUV 格式数据存放位置分别为 Y 分量:data[0],U 分量:data[1],V 分量:data[2]。
dataLengthref uint原始视频数据长度。RGB 格式数据长度存放位置为 dataLength[0],YUV 格式数据存放位置分别为 Y 分量长度:dataLength[0],U 分量长度:dataLength[1],V 分量长度:dataLength[2]。
paramZegoVideoFrameParam视频帧的参数。
referenceTimeMillisecondulong视频帧的索引时间,UNIX 时间戳,单位为毫秒。
channelZegoPublishChannel推流通道。是否必填:否。默认值:主推流通道。

详情

开启自定义视频前处理时,将自定义视频前处理后的原始视频数据发送给 SDK,支持其他路推流。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:必须在 [onCapturedUnprocessedRawData] 回调中调用。
  • 平台差异:仅在 Windows 平台生效。
  • 支持版本:2.4.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZEGO_VIDEO_BUFFER_TYPE_RAW_DATA] 时,此接口生效。

SendCustomVideoProcessedCVPixelBuffer

SendCustomVideoProcessedCVPixelBuffer
public abstract void SendCustomVideoProcessedCVPixelBuffer(IntPtr buffer,ulong timestamp,ZegoPublishChannel channel)
将自定义视频前处理后的 [CVPixelBuffer] 类型视频数据发送给 SDK。支持其他路推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
bufferIntPtr要向 SDK 发送的 CVPixelBuffer 类型视频帧数据。
timestampulong该视频帧的时间戳。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,将自定义视频前处理后的 [CVPixelBuffer] 格式视频数据发送给 SDK,支持其他路推流。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:必须在 [onCapturedUnprocessedCVPixelbuffer] 回调中调用。
  • 平台差异:仅在 iOS/macOS 平台生效。
  • 支持版本:2.2.0 及以上(iOS原生),2.4.0及以上(macOS C++)。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeCVPixelBuffer] 或 [ZegoVideoBufferTypeNV12CVPixelBuffer] 时,此接口生效。

SendCustomVideoProcessedTextureData

SendCustomVideoProcessedTextureData
public abstract void SendCustomVideoProcessedTextureData(int textureID,int width,int height,ulong referenceTimeMillisecond,ZegoPublishChannel channel)
将自定义视频前处理后的 [Texture] 类型视频数据发送给 SDK。支持其他路推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
textureIDint纹理 ID。
widthint纹理宽度。
heightint纹理高度。
referenceTimeMillisecondulong视频帧的索引时间,UNIX 时间戳,单位为毫秒。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,将自定义视频前处理后的 [Texture] 格式视频数据发送给 SDK,支持其他路推流。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 调用时机:必须在 [onCapturedUnprocessedTextureData] 回调中调用。
  • 平台差异:仅在 Android 平台生效。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeGLTexture2D] 时,此接口生效。

StartAudioDataObserver

StartAudioDataObserver
public abstract void StartAudioDataObserver(uint observerBitMask,ZegoAudioFrameParam param)
开启音频数据回调监测。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
observerBitMaskuint回调使能掩码标记位,参考 [ZegoAudioDataCallbackBitMask] 枚举;当转换为二进制时,0b01 即 1 << 0 表示触发 [onCapturedAudioData], 0b10 即 1 << 1 表示触发 [onPlaybackAudioData], 0b100 即 1 << 2 表示触发 [onMixedAudioData], 0b1000 即 1 << 3 表示触发 [onPlayerAudioData]。掩码可组合以使不同的回调同时触发。
paramZegoAudioFrameParam音频帧参数。

详情

开启自定义音频处理时,通过此函数开启音频数据回调监测。

  • 业务场景:需要监测原始音频时。
  • 调用时机:创建引擎后。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当调用此函数后且已通过调用 [setAudioDataHandler] 设置回调后才会触发音频监测。如果要开启 [onPlayerAudioData] 回调,那么还必须正在拉流中,且此时调用 [startAudioDataObserver] 函数传入的采样率不支持 8000Hz、22050Hz 和 24000Hz。不适用于 WebGL。
  • 注意事项:该接口会启动音视频引擎,会占用麦克风设备。

StopAudioDataObserver

StopAudioDataObserver
public abstract void StopAudioDataObserver()
停止音频数据回调监测。
Declared in ZegoExpressEngine.cs

停止音频数据回调监测。

  • 业务场景:需要监测原始音频时。
  • 调用时机:调用 [startAudioDataObserver] 开启音频数据监测后。
  • 支持版本:1.1.0 及以上。

EnableCustomAudioIO

EnableCustomAudioIO
public abstract void EnableCustomAudioIO(bool enable,ZegoCustomAudioConfig config,ZegoPublishChannel channel)
开启自定义音频 IO 功能,支持其他路推流,支持 PCM 、AAC 格式数据。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
enablebool是否开启自定义音频 IO。
configZegoCustomAudioConfig自定义音频 IO 的配置。
channelZegoPublishChannel指定要开启自定义音频 IO 的推流通道。

详情

开启自定义音频 IO 功能,支持 PCM 、AAC 格式数据。

  • 业务场景:如果开发者想在采集音频数据后或拉取远端音频数据渲染前,通过自定义处理实现特殊功能(例如变声、美声等)时。
  • 调用时机:需要在 [startPublishingStream]、 [startPlayingStream]、 [startPreview]、 [createMediaPlayer]、 [createAudioEffectPlayer] 和 [createRealTimeSequentialDataManager] 之前调用才有效。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

SendCustomAudioCaptureAACData

SendCustomAudioCaptureAACData
public abstract void SendCustomAudioCaptureAACData(IntPtr data,uint dataLength,uint configLength,ulong referenceTimeMillisecond,uint samples,ZegoAudioFrameParam param,ZegoPublishChannel channel)
发送自定义音频采集 AAC 数据,支持设置其他通道的推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
dataIntPtrAAC buffer 数据。
dataLengthuintbuffer 数据的总长度。
configLengthuintAAC specific config 的长度 (注意:AAC encoded data 的长度 encodedLength = dataLength - configLength)。取值范围:[0,64]。
referenceTimeMillisecondulong该 AAC 音频帧的 UNIX 时间戳,单位为毫秒。
samplesuint该 AAC 音频帧的采样数。取值范围:[480,512,1024,1960,2048]。
paramZegoAudioFrameParam该 AAC 音频帧的参数。
channelZegoPublishChannel采集音频帧的推流通道。

详情

把采集到的音频 AAC 数据塞给 SDK。

  • 业务场景:开发者需要从现有音频流、音频文件、或者定制的采集系统中获得采集后输入,交给 SDK 传输。
  • 调用时机:在 [enableCustomAudioIO] 且推流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始推流 [startPublishingStream]。
  • 支持版本:2.20.0 及以上。
  • 使用限制:不适用于 WebGL。

SendCustomAudioCapturePCMData

SendCustomAudioCapturePCMData
public abstract void SendCustomAudioCapturePCMData(IntPtr data,uint dataLength,ZegoAudioFrameParam param,ZegoPublishChannel channel)
发送自定义音频采集 PCM 数据,支持其他路推流。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
dataIntPtrPCM buffer 数据。
dataLengthuintbuffer 数据的总长度。
paramZegoAudioFrameParam该 PCM 音频帧的参数。
channelZegoPublishChannel采集音频帧的推流通道。

详情

把采集到的音频 PCM 数据塞给 SDK。

  • 业务场景:1、开发者需要从现有音频流、音频文件、或者定制的采集系统中获得采集后输入,交给 SDK 传输。2、开发者有自己对 PCM 输入源做特殊的音效处理的需求,在音效处理后输入,交给 SDK 传输。
  • 调用时机:在 [enableCustomAudioIO] 且推流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始推流 [startPublishingStream]。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

FetchCustomAudioRenderPCMData

FetchCustomAudioRenderPCMData
public abstract void FetchCustomAudioRenderPCMData(IntPtr data,uint dataLength,ZegoAudioFrameParam param)
从 SDK 取远端拉流自定义音频渲染 PCM 数据。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
dataIntPtr用于存放音频 PCM 数据的内存块,需要用户自行管理此内存块的生命周期;SDK 将会把音频帧渲染数据拷贝到此内存块上。
dataLengthuint此次需要从 SDK 取的音频数据的长度 (dataLength = duration(此音频帧的时长) * sampleRate * channels * 2(位深 16 bit 即 2 Btye))。
paramZegoAudioFrameParam指定从 SDK 取的音频帧的参数。ZegoAudioFrameParam 中参数sampleRate必填。

详情

从 SDK 拉取远端流的音频数据,建议对接系统框架来定时调用此函数,以驱动音频数据渲染。

  • 业务场景:当开发者有自己渲染的需求,例如对拉取到的原始 PCM 数据做特殊应用或者处理后再渲染,建议使用 SDK 的自定义音频渲染功能。
  • 调用时机:在 [enableCustomAudioIO] 且拉流成功后。
  • 相关接口:开启自定义音频 IO 功能 [enableCustomAudioIO],开始拉流 [startPlayingStream]。
  • 支持版本:1.10.0 及以上。
  • 使用限制:不适用于 WebGL。

CreateRangeAudio

CreateRangeAudio
public abstract ZegoRangeAudio CreateRangeAudio()
创建范围语音实例对象。
Declared in ZegoExpressEngine.cs

创建范围语音实例对象。

  • 业务场景:常用于游戏语音场景中,用户可通过创建范围语音实例对象使用相关功能。
  • 调用时机:在初始化引擎 [createEngine] 之后。
  • 影响范围:使用范围语音模块,将不能使用基础推拉流 [startPublishingStream]、[startPlayingStream] 等相关函数以及 [onPublisherStateUpdate]、[onPlayerStateUpdate] 等相关回调,否则会出现流混乱的现象。
  • 支持版本:2.11.0 及以上。
  • 使用限制:目前最多支持创建 1 个实例,超过后将返回 null。不适用于 WebGL。

范围语音实例,超过最大数量限制后将返回 null。

DestroyRangeAudio

DestroyRangeAudio
public abstract void DestroyRangeAudio(ZegoRangeAudio rangeAudio)
销毁范围语音实例对象。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
rangeAudioZegoRangeAudio范围语音实例对象。

详情

销毁范围语音实例对象。

  • 支持版本:2.11.0 及以上。
  • 使用限制:不适用于 WebGL。

CreateCopyrightedMusic

CreateCopyrightedMusic
public abstract ZegoCopyrightedMusic CreateCopyrightedMusic()
创建版权音乐实例对象。
Declared in ZegoExpressEngine.cs

创建版权音乐实例对象。

  • 业务场景:常用于在线 KTV 合唱场景中,用户可通过创建版权音乐实例对象使用相关功能。
  • 调用时机:在初始化引擎 [createEngine] 之后。
  • 支持版本:2.13.0 及以上。
  • 使用限制:SDK 只支持创建一个实例,多次调用此函数返回同一个对象。

版权音乐实例,多次调用此函数返回同一个对象。

DestroyCopyrightedMusic

DestroyCopyrightedMusic
public abstract void DestroyCopyrightedMusic(ZegoCopyrightedMusic copyrightedMusic)
销毁版权音乐实例对象。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
copyrightedMusicZegoCopyrightedMusic版权音乐实例对象。

详情

销毁版权音乐实例对象。

  • 调用时机:在销毁引擎 [destroyEngine] 之前。
  • 支持版本:2.13.0 及以上。

CreateRangeScene

CreateRangeScene
public abstract ZegoRangeScene CreateRangeScene()
创建范围场景实例对象。
Declared in ZegoExpressEngine.cs

创建范围场景实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过范围场景实例对象使用相关功能。
  • 调用时机:通过 [createEngine] 初始化引擎后。
  • 支持版本:3.0.0 及以上。
  • 使用限制:无。

范围场景实例。

DestroyRangeScene

DestroyRangeScene
public abstract void DestroyRangeScene(ZegoRangeScene rangeScene)
销毁范围场景实例对象。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
rangeSceneZegoRangeScene范围场景实例对象。

详情

销毁范围场景实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过获取范围场景实例对象使用相关功能。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。

GetScreenCaptureSources

GetScreenCaptureSources
public abstract List<ZegoScreenCaptureSourceInfo> GetScreenCaptureSources(int thumbnailWidth,int thumbnailHeight,int iconWidth,int iconHeight)
获取屏幕列表或屏幕中的窗口列表。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
thumbnailWidthint获取窗口所对应的缩略图宽度,缩略图可用于绘制在窗口选择界面上。(单位为像素)
thumbnailHeightint获取窗口所对应的缩略图高度,缩略图可用于绘制在窗口选择界面上。(单位为像素)
iconWidthint获取程序所对应的图标的宽度。(单位为像素)
iconHeightint获取程序所对应的图标的高度。(单位为像素)

详情

获取屏幕列表或屏幕中的窗口列表。

  • 支持版本:3.1.0 及以上
  • 使用限制:只适用于 Windows/macOS 系统

返回值

采集源对象信息列表。

CreateScreenCaptureSource

CreateScreenCaptureSource
public abstract ZegoScreenCaptureSource CreateScreenCaptureSource(long sourceId,ZegoScreenCaptureSourceType sourceType)
创建屏幕采集源
Declared in ZegoExpressEngine.cs

参数

名称类型描述
sourceIdlong指定的屏幕 ID 或窗口 ID。
sourceTypeZegoScreenCaptureSourceType指定的屏幕源类型。

详情

根据提供的源的 ID 和源的类型创建屏幕采集源对象。

  • 业务场景:需要对屏幕或窗口有录制和分享等业务时使用。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:3.1.0 及以上。

返回值

屏幕采集源对象,超过最大数量限制后将返回 null

DestroyScreenCaptureSource

DestroyScreenCaptureSource
public abstract void DestroyScreenCaptureSource(ZegoScreenCaptureSource source)
销毁屏幕采集源对象
Declared in ZegoExpressEngine.cs

参数

名称类型描述
sourceZegoScreenCaptureSource需要销毁的屏幕采集源对象

详情

销毁 [ZegoScreenCaptureSource] 屏幕采集源对象。

  • 业务场景:不再需要使用屏幕采集功能时,可通过此函数销毁 [createScreenCaptureSource] 函数创建出来的实例对象。
  • 调用时机:当需要销毁屏幕采集源对象时。
  • 平台差异:仅支持 Windows 和 macOS。
  • 支持版本:3.1.0 及以上。
  • 使用限制:销毁后,开发者需要自行释放持有的 [ZegoScreenCaptureSource] 实例对象,并且销毁后也不要再调用此实例对象的函数。

SetAppGroupID

SetAppGroupID
public abstract void SetAppGroupID(string groupID)
设置 App Group 配置项。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
groupIDstring主应用和 extension 扩展应用应该归属于同一个 App Group,此处需要传入 AppGroupID。
  • 业务场景:需要使用 iOS 跨进程屏幕共享功能,需要启动 App Group,可以提供更好的性能与稳定性。必须搭配 ZegoReplayKit 扩展类里的 [setupWithAppGroupID:] 使用。
  • 调用时机:[createEngine] 之后,调用 [startScreenCapture] 之前调用。
  • 支持版本:3.3.0 及以上。
  • 使用限制:仅 iOS 平台使用。

StartScreenCaptureInApp

StartScreenCaptureInApp
public abstract void StartScreenCaptureInApp(ZegoScreenCaptureConfig config)
开始屏幕采集,仅限 app 应用内录屏。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoScreenCaptureConfig屏幕采集参数配置。

详情

开始屏幕采集。

  • 调用时机:在调用 [setVideoSource]、[setAudioSource] 函数设置采集源 为 ScreenCapture 后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:仅对 iOS 系统生效。

StartScreenCapture

StartScreenCapture
public abstract void StartScreenCapture(ZegoScreenCaptureConfig config)
开始屏幕采集。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoScreenCaptureConfig屏幕采集参数配置。

详情

开始屏幕采集。

  • 调用时机:在调用 [setVideoSource]、[setAudioSource] 函数设置采集源 为 ScreenCapture 后。
  • 支持版本:3.6.0 及以上。

StopScreenCapture

StopScreenCapture
public abstract void StopScreenCapture()
停止屏幕采集。
Declared in ZegoExpressEngine.cs

停止屏幕采集。

  • 支持版本:3.1.0 及以上。

UpdateScreenCaptureConfig

UpdateScreenCaptureConfig
public abstract void UpdateScreenCaptureConfig(ZegoScreenCaptureConfig config)
更新屏幕采集参数配置。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
configZegoScreenCaptureConfig屏幕采集参数配置。

详情

更新屏幕采集参数配置。

  • 调用时机:在调用 [startScreenCapture] 开始采集后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:仅对 iOS 系统生效。仅适用于 iOS 12.0 或更高版本。

EnableBeautify

EnableBeautify
deprecated
public abstract void EnableBeautify(int featureBitmask,ZegoPublishChannel channel)
【已废弃】开/关美颜,为任意推流通道设置。此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
featureBitmaskint美颜特性,位掩码格式,可选择同时开启 [ZegoBeautifyFeature] 中的几个特性
channelZegoPublishChannel推流通道

详情

当开发者对美颜需求不大时,可使用此功能设置一些非常简单的美颜效果。

  • 调用时机:需要在 [createEngine] 之后调用。
  • 默认值:未调用此函数时,默认不开启美颜功能。
  • 相关接口:开启美颜功能后可调用 [setBeautifyOption] 函数调整美颜参数。
  • 支持版本:1.1.0 及以上。
  • 使用限制:在使用自定义视频采集功能的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,本函数不再有效。在使用自定义视频前处理功能的情况下也无效。
  • 注意事项:此美颜功能较为简单,可能不符合开发者的预期,建议使用自定义视频前处理功能 [enableCustomVideoProcessing] 或者自定义视频采集功能 [enableCustomVideoCapture] 对接即构 AI 美颜 SDK [ZegoEffects] https://doc-zh.zego.im/article/9556 以获得最佳效果。
已废弃
此函数在 2.16.0 版本及以上已废弃,请使用 [enableEffectsBeauty] 函数代替。

SetBeautifyOption

SetBeautifyOption
deprecated
public abstract void SetBeautifyOption(ZegoBeautifyOption option,ZegoPublishChannel channel)
【已废弃】设置美颜参数。此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。
Declared in ZegoExpressEngine.cs

参数

名称类型描述
optionZegoBeautifyOption美颜选项参数。
channelZegoPublishChannel推流通道。

详情

设置主推流通道美颜参数。

  • 业务场景:通常用于视频通话、直播等场景。
  • 调用时机:需要在 [createEngine] 之后调用。
  • 支持版本:1.1.0 及以上。
  • 使用限制:无。
  • 注意事项:在使用自定义视频采集功能的情况下,由于开发者接管了视频数据的采集,SDK 不再负责视频数据的采集,调用本函数不生效。在使用自定义视频前处理时,SDK 采集的视频数据会交给业务做进一步处理,调用本函数也不生效。
已废弃
此函数在 2.16.0 版本及以上已废弃,请使用 [setEffectsBeautyParam] 函数代替。

ZegoMediaPlayer

Declared in ZegoMediaPlayer.cs

方法

SetVideoHandler

SetVideoHandler
public abstract void SetVideoHandler(OnVideoFrame onVideoFrame,ZegoVideoFrameFormat format)
设置媒体播放器的视频数据回调。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
onVideoFrameOnVideoFrame媒体播放器的视频数据回调
formatZegoVideoFrameFormat视频数据的视频帧格式

详情

可以通过设置此回调将媒体播放器播放的媒体资源文件的视频数据抛出来。

  • 调用时机:创建 [ZegoMediaPlayer] 实例后。
  • 支持版本:2.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当不再需要获取视频帧数据时请再次调用此函数将 handler 置空,以停止视频帧数据回调。

SetAudioHandler

SetAudioHandler
public abstract void SetAudioHandler(OnAudioFrame onAudioFrame)
设置媒体播放器的音频数据回调。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
onAudioFrameOnAudioFrame媒体播放器的音频数据回调

详情

可以通过设置此回调将媒体播放器播放的媒体资源文件的音频数据抛出来。

  • 调用时机:创建 [ZegoMediaPlayer] 实例后。
  • 支持版本:2.1.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:当不再需要获取音频数据时请再次调用此函数将 handler 置空,以停止音频数据回调。

LoadResource

LoadResource
public abstract void LoadResource(string path,OnMediaPlayerLoadResourceCallback callback)
加载本地或者网络媒体资源。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
pathstring本地资源路径或网络资源的 URL,不能传入 null 或 ""。Android 可通过 Uri 方式进行传参。
callbackOnMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载媒体资源。

  • 业务场景:开发者可以将可传本地资源的绝对路径或者网络资源的 URL 传入进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 相关接口:也可通过 [loadResourceWithPosition] 或 [loadResourceFromMediaData] 函数加载资源。
  • 支持版本:1.3.4 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

LoadResourceWithPosition

LoadResourceWithPosition
public abstract void LoadResourceWithPosition(string path,long startPosition,OnMediaPlayerLoadResourceCallback callback)
加载本地或者网络媒体资源,并指定开始位置。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
pathstring本地资源路径或网络资源的 URL,不能传入 null 或 ""。Android 可通过 Uri 方式进行传参。
startPositionlong开始播放的进度。
callbackOnMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载媒体资源,同时可指定开始播放的进度,单位毫秒。

  • 业务场景:开发者可以将可传本地资源的绝对路径或者网络资源的 URL 传入进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 相关接口:也可通过 [loadResource] 或 [loadResourceFromMediaData] 函数加载资源。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:1.当 startPosition 超过播放总时长,将从头开始播放。 2.如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

LoadResourceFromMediaData

LoadResourceFromMediaData
public abstract void LoadResourceFromMediaData(IntPtr mediaData,int mediaDataLength,long startPosition,OnMediaPlayerLoadResourceCallback callback)
加载二进制的音频媒体资源。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
mediaDataIntPtr二进制音频数据。
mediaDataLengthint二进制音频数据长度。
startPositionlong指定开始播放的进度,单位毫秒。
callbackOnMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载二进制的音频数据。

  • 业务场景:开发者不希望将音频数据缓存本地,直接把音频二进制数据传给媒体播放器,直接加载并播放该音频。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 相关接口:也可通过 [loadResource] 或 [loadResourceWithPosition] 函数加载资源。
  • 支持版本:2.10.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:1.当 startPosition 超过播放总时长,将从头开始播放。 2.如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

LoadCopyrightedMusicResourceWithPosition

LoadCopyrightedMusicResourceWithPosition
public abstract void LoadCopyrightedMusicResourceWithPosition(string resourceID,long startPosition,OnMediaPlayerLoadResourceCallback callback)
加载版权音乐资源。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
resourceIDstring从版权音乐模块获取的资源ID。
startPositionlong开始播放的进度。
callbackOnMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载版权音乐资源,同时可指定开始播放的进度,单位毫秒。

  • 业务场景:开发者可以将可传版权音乐的资源ID进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:2.14.0 及以上。
  • 注意事项:1.当 startPosition 超过播放总时长,将从头开始播放。 2.如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

LoadResourceWithConfig

LoadResourceWithConfig
public abstract void LoadResourceWithConfig(ZegoMediaPlayerResource resource,OnMediaPlayerLoadResourceCallback callback)
加载本地或者网络媒体资源,带配置参数。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
resourceZegoMediaPlayerResource需要加载的多媒体资源。
callbackOnMediaPlayerLoadResourceCallback资源加载结果的通知。

详情

加载媒体资源。

  • 业务场景:开发者可以将可传本地资源的绝对路径或者网络资源的 URL 传入进行加载。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关接口:支持通过 [loadResourceWithPosition] 或 [loadResourceFromMediaData] 接口加载资源。
  • 支持版本:3.21.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:如果该媒体播放器已经加载资源或者正在播放,请先调用 [stop] 接口停止播放,然后再调用接口加载媒体资源,否则无法加载成功。

返回值

加载媒体资源结果回调。

Start

Start
public abstract void Start()
开始播放
Declared in ZegoMediaPlayer.cs

必须在加载资源完成后才能调用

Stop

Stop
public abstract void Stop()
停止播放
Declared in ZegoMediaPlayer.cs

Pause

Pause
public abstract void Pause()
暂停播放
Declared in ZegoMediaPlayer.cs

Resume

Resume
public abstract void Resume()
恢复播放
Declared in ZegoMediaPlayer.cs

SeekTo

SeekTo
public abstract void SeekTo(ulong millisecond,OnMediaPlayerSeekToCallback callback)
设置指定的播放进度
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
millisecondulong指定的播放进度的时间点
callbackOnMediaPlayerSeekToCallback设置指定的播放进度的结果通知

详情

单位为毫秒

返回值

设置指定的播放进度的结果通知

EnableRepeat

EnableRepeat
public abstract void EnableRepeat(bool enable)
是否重复播放
Declared in ZegoMediaPlayer.cs
名称类型描述
enablebool重复播放标记,默认为 false

SetPlayLoopCount

SetPlayLoopCount
public abstract void SetPlayLoopCount(int count)
设置播放循环次数。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
countint重复播放的次数。

详情

设置媒体播放器播放循环次数。

  • 业务场景:用户需要使用媒体播放器循环播放资源时可以调用此接口。
  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 支持版本:2.10.0 及以上。
  • 使用限制:无。
  • 注意事项:使用本接口后,[enableRepeat] 接口将会失效。

SetPlaySpeed

SetPlaySpeed
public abstract void SetPlaySpeed(float speed)
设置播放倍速。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
speedfloat播放速度。默认为 1.0。
2.12.0 至 3.15.1 版本:范围为 0.5 ~ 4.0。
3.16.0 及以上版本:范围为 0.3 ~ 4.0。

详情

设置播放器的播放倍速。

  • 调用时机:必须在加载资源完成后才能调用。
  • 相关接口:可通过 [loadResource] 函数加载资源。
  • 支持版本:2.12.0 及以上。
  • 使用限制:无。

EnableAux

EnableAux
public abstract void EnableAux(bool enable)
是否将播放器的声音混入正在推的流中
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
enablebool是否混音标记,默认为 false

详情

此接口仅会将媒体播放器声音混到主通道中

MuteLocal

MuteLocal
public abstract void MuteLocal(bool mute)
是否静默本地播放
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
mutebool本地静音标记,默认为 false。

详情

若开启了混音入流则推的流中仍然有声音,默认为 false。

SetVolume

SetVolume
public abstract void SetVolume(int volume)
设置播放器音量,会同时设置本地播放音量和推流音量
Declared in ZegoMediaPlayer.cs
名称类型描述
volumeint范围为 0 ~ 200,默认为 60。

SetPlayVolume

SetPlayVolume
public abstract void SetPlayVolume(int volume)
设置播放器本地播放音量
Declared in ZegoMediaPlayer.cs
名称类型描述
volumeint范围为 0 ~ 200,默认为 60。

SetPublishVolume

SetPublishVolume
public abstract void SetPublishVolume(int volume)
设置播放器推流音量
Declared in ZegoMediaPlayer.cs
名称类型描述
volumeint范围为 0 ~ 200,默认为 60。

SetProgressInterval

SetProgressInterval
public abstract void SetProgressInterval(ulong millisecond)
设置播放进度回调间隔
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
millisecondulong播放进度回调间隔时间,单位为毫秒

详情

可通过此函数控制 [onMediaPlayerPlayingProgress] 的回调频率,当设置回调间隔为 0 时,停止回调。默认回调间隔为 1s 回调不会严格按照设定的回调间隔值返回,而是以处理音频帧或者视频帧的频率来判断是否需要回调

GetPlayVolume

GetPlayVolume
public abstract int GetPlayVolume()
获取当前媒体播放器本地播放的音量,范围为 0 ~ 200,默认值为 60
Declared in ZegoMediaPlayer.cs

当前音量

GetPublishVolume

GetPublishVolume
public abstract int GetPublishVolume()
获取当前媒体播放器推流的音量,范围为 0 ~ 200,默认值为 60
Declared in ZegoMediaPlayer.cs

当前音量

GetTotalDuration

GetTotalDuration
public abstract ulong GetTotalDuration()
获取媒体资源的总进度
Declared in ZegoMediaPlayer.cs

必须在加载资源完成后才能调用,否则返回值为 0

单位为毫秒

GetCurrentProgress

GetCurrentProgress
public abstract ulong GetCurrentProgress()
获取当前播放进度
Declared in ZegoMediaPlayer.cs

必须在加载资源完成后才能调用,否则返回值为 0

当前播放进度

GetCurrentRenderingProgress

GetCurrentRenderingProgress
public abstract ulong GetCurrentRenderingProgress()
获取当前渲染进度
Declared in ZegoMediaPlayer.cs

必须在加载资源完成后才能调用,否则返回值为 0

当前渲染进度

GetAudioTrackCount

GetAudioTrackCount
public abstract uint GetAudioTrackCount()
获取播放文件的音轨个数
Declared in ZegoMediaPlayer.cs

音轨个数

SetAudioTrackIndex

SetAudioTrackIndex
public abstract void SetAudioTrackIndex(uint index)
设置播放文件的音轨
Declared in ZegoMediaPlayer.cs
名称类型描述
indexuint音轨序号,可以通过 [getAudioTrackCount] 获取音轨个数

EnableVoiceChanger

EnableVoiceChanger
public abstract void EnableVoiceChanger(ZegoMediaPlayerAudioChannel audioChannel,bool enable,ZegoVoiceChangerParam param)
开启变声,设置变声的具体参数。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
audioChannelZegoMediaPlayerAudioChannel要进行变声的声道
enablebool是否开启变声,true-开启,false-关闭,默认 false。
paramZegoVoiceChangerParam变声参数

详情

开启变声,设置变声的具体参数。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 支持版本:3.15.0 及以上。

GetCurrentState

GetCurrentState
public abstract ZegoMediaPlayerState GetCurrentState()
获取当前播放状态
Declared in ZegoMediaPlayer.cs

当前播放器状态

GetIndex

GetIndex
public abstract int GetIndex()
获取媒体播放器的序号
Declared in ZegoMediaPlayer.cs

获取媒体播放器索引。

  • 调用时机:在 [createMediaPlayer] 之后可调用。
  • 使用限制:无。

媒体播放器索引。

EnableAccurateSeek

EnableAccurateSeek
public abstract void EnableAccurateSeek(bool enable,ZegoAccurateSeekConfig config)
开启精准 seek 并设置相关属性
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
enablebool是否开启精准 seek
configZegoAccurateSeekConfig精准 seek 的属性设置,只有 enable 为 true 时有效。

详情

普通 seek 指定的时间戳可能是非 I 帧,进而返回指定时间戳前后的 I 帧,不是很精确。而精准 seek 当指定的时间戳不是 I 帧时,会通过指定时间戳前后的 I 帧去解指定时间戳的那帧数据。

  • 业务场景:适用于用户需要精准 seek 到指定时间戳的场景。
  • 调用时机:必须在加载资源前调用设置,在整个媒体播放器的生命周期内生效。
  • 支持版本:2.4.0 及以上。

SetNetWorkResourceMaxCache

SetNetWorkResourceMaxCache
public abstract void SetNetWorkResourceMaxCache(uint time,uint size)
设置网络素材最大的缓存时长和缓存数据大小
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
timeuint缓存最大时长, 单位 ms, SDK 内部默认为5000;有效值为大于等于 2000;如果填 0, 表示不限制。
sizeuint缓存最大尺寸, 单位 byte,SDK内部默认size为1510241024 byte;有效值为大于等于 5000000, 如果填 0, 表示不限制。

详情

必须在加载资源前调用设置,在整个媒体播放器的生命周期内生效。 time和size不允许同时为 0.。SDK 内部默认time为5000, size为1510241024 byte。time和size中某一个指标先达到设置的值,就会停止缓存。

GetNetWorkResourceCache

GetNetWorkResourceCache
public abstract ZegoNetWorkResourceCache GetNetWorkResourceCache()
获取当前网络素材缓存队列的缓存数据可播放的时长和缓存数据大小
Declared in ZegoMediaPlayer.cs

返回当前缓存的信息,包括数据可播放的时长和缓存数据大小

SetNetWorkBufferThreshold

SetNetWorkBufferThreshold
public abstract void SetNetWorkBufferThreshold(uint threshold)
通过该接口设置媒体播放器重新恢复播放需要达到的缓存阈值,SDK 默认值是 5000ms,有效值为大于等于1000ms
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
thresholduint重新恢复播放需要达到的阈值, 单位 ms。

详情

必须在加载资源前调用设置,在整个媒体播放器的生命周期内生效。 当网络状态较差且媒体播放器将缓存的网络资源都播放完时,就会停止播放,并通过回调接口onMediaPlayerNetworkEventZegoMediaPlayerNetworkEvent.BUFFER_BEGIN状态通知用户,告知正在重新缓存网络资源。 只有当缓存的网络资源大于设置的阈值的时候,媒体播放器才会在原来暂停的位置自动恢复播放,并通过回调接口onMediaPlayerNetworkEventZegoMediaPlayerNetworkEvent.BUFFER_ENDED通知用户,告知用户缓存网络资源已经达到阈值并恢复了播放。

EnableSoundLevelMonitor

EnableSoundLevelMonitor
public abstract void EnableSoundLevelMonitor(bool enable,uint millisecond)
是否开启声浪监听。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
enablebool是否开启监听,true 开启,false 关闭。
milliseconduint声浪的监听时间周期,单位为毫秒,取值范围 [100, 3000]。

详情

开启或关闭声浪监听。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关回调:开启后可以通过 [onMediaPlayerSoundLevelUpdate] 回调监听声浪更新。
  • 支持版本:2.15.0 及以上。
  • 使用限制:无。

EnableFrequencySpectrumMonitor

EnableFrequencySpectrumMonitor
public abstract void EnableFrequencySpectrumMonitor(bool enable,uint millisecond)
是否开启频谱监听。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
enablebool是否开启监听,true 开启,false 关闭。
milliseconduint频谱的监听时间周期,单位为毫秒,取值范围 [10, 3000]。注意在 3.19.0 及更老版本上,取值范围为 [100, 3000]

详情

开启或关闭频谱监听。

  • 调用时机:初始化引擎 [createEngine] 并创建媒体播放器 [createMediaPlayer] 之后调用。
  • 相关回调:开启后可以通过 [onMediaPlayerFrequencySpectrumUpdate] 回调监听声浪更新。
  • 支持版本:2.15.0 及以上。
  • 使用限制:无。

UpdatePosition

UpdatePosition
public abstract void UpdatePosition(float[] position)
更新媒体播放器(音频源)位置。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
positionfloat[]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组。

详情

更新媒体播放器(音频源)位置。。

  • 业务场景:媒体播放器也需要有 3D 空间音效。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.6.0 及以上。
  • 使用限制:此接口需要与 RangeAudio/RangeScene 模块配合使用,RangeAudio/RangeScene 模块开启 3D 音效后,此接口才能调用成功。

SetHttpHeader

SetHttpHeader
public abstract void SetHttpHeader(Dictionary<string, string> headers)
设置 http 头信息。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
headersDictionary<string, string>头信息。

详情

调用该函数设置 http 网络资源的http headers。

  • 业务场景:当网络资源需要设置特殊的头信息时可以配置。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.8.0 及以上。
  • 使用限制:在加载对应的网络资源之前调用。

SetPlayMediaStreamType

SetPlayMediaStreamType
public abstract void SetPlayMediaStreamType(ZegoMediaStreamType streamType)
设置播放的媒体流类型。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
streamTypeZegoMediaStreamType流类型。

详情

配置播放的媒体流类型,可以仅播放视频流或者音频流,在播放器生命周期内一直生效。

  • 业务场景:当仅需要播放视频流或者音频流时。
  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。
  • 支持版本:3.10.0 及以上。
  • 注意事项:播放时改变媒体流类型,将在下一次播放时生效。

EnableLocalCache

EnableLocalCache
public abstract void EnableLocalCache(bool enable,string cacheDir)
开启本地缓存 http/https 网络资源。
Declared in ZegoMediaPlayer.cs

参数

名称类型描述
enablebool是否开启本地缓存。
cacheDirstring缓存目录。如果留空会使用 SDK 内部指定的目录。

详情

当播放 http/https 网络资源时,开启本地缓存后,会将网络资源保存到本地,并通过 [onMediaPlayerLocalCache] 将缓存信息回调出来。

  • 调用时机:在已经初始化引擎 [createEngine] 且创建媒体播放器 [createMediaPlayer] 之后可以调用。在 [loadResource] 之后或者播放过程中调用,会在下一次播放生效。
  • 支持版本:3.12.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:只支持 http/https 单文件类型网络资源,如果播放过程中有 [seekTo] 操作,缓存会失败。

SetVoiceChangerParam

SetVoiceChangerParam
deprecated
public abstract void SetVoiceChangerParam(ZegoMediaPlayerAudioChannel audioChannel,ZegoVoiceChangerParam param)
【已废弃】设置变声的具体参数
Declared in ZegoMediaPlayer.cs
名称类型描述
audioChannelZegoMediaPlayerAudioChannel要进行变声的声道
paramZegoVoiceChangerParam变声参数
已废弃
此函数在 3.15.0 版本及以上已废弃,请使用 [enableVoiceChanger] 函数代替。

ZegoRangeAudio

Declared in ZegoRangeAudio.cs

方法

SetAudioReceiveRange

SetAudioReceiveRange
public abstract void SetAudioReceiveRange(float range)
设置音频接收距离的最大范围。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
rangefloat音频范围,取值必须大于或等于 0。

详情

设置音频接收范围,超过该范围的音源声音会听不见。

  • 业务场景:“全世界” 模式下设置收听者的听觉范围。
  • 默认值:没有调用该函数时,只能接收本小队内的成员声音,无法接收小队外的所有声音。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:该功能只对小队以外的人生效。不适用于 WebGL。

SetAudioReceiveRange

SetAudioReceiveRange
public abstract int SetAudioReceiveRange(ZegoReceiveRangeParam param)
设置音频接收范围的配置。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
paramZegoReceiveRangeParam音频接收范围的配置。

详情

设置音频接收范围,超过该范围的音源声音会听不见。

  • 业务场景:“全世界” 模式下设置收听者的听觉范围。
  • 默认值:没有调用该函数时,只能接收本小队内的成员声音,无法接收小队外的所有声音。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:3.7.0 及以上。
  • 注意事项:该功能只对小队以外的人生效。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

SetRangeAudioVolume

SetRangeAudioVolume
public abstract void SetRangeAudioVolume(int volume)
设置范围语音音量
Declared in ZegoRangeAudio.cs

参数

名称类型描述
volumeint音量,取值[0,200]。

详情

设置范围语音音量。

  • 业务场景:当用户调用 [startPlayingStream] 拉取其他流时,可通过此接口来设置增大或者减少范围语音流的音量。
  • 默认值:100。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.23.0 及以上。
  • 使用限制:不适用于 WebGL。

SetStreamVocalRange

SetStreamVocalRange
public abstract int SetStreamVocalRange(string streamID,ZegoVocalRangeParam param)
设置流的发声范围
Declared in ZegoRangeAudio.cs

参数

名称类型描述
streamIDstring拉流 ID。
paramZegoVocalRangeParam流发声范围。

详情

设置流的发声范围。

  • 业务场景:当用户调用 [startPlayingStream] 拉取其他流时,通过设置该流的发声范围,并且调用 [updateStreamPosition] 使此流也有范围语音效果, 调用后将以音源的发声范围进行距离衰减效果。
  • 调用时机:在初始化范围语音 [createRangeAudio] 并且调用 [startPlayingStream] 之后。
  • 支持版本:3.7.0 及以上。
  • 注意事项:调用 [enableMicrophone] 开启范围语音时,会将流的资源切换成 RTC,无论原先调用 [startPlayingStream] 拉流时是否指定的资源为 RTC。如果确实需要指定流的资源为 CDN,请配置为拉自定义 CDN 流,并指定 CDN 地址信息。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

UpdateSelfPosition

UpdateSelfPosition
public abstract void UpdateSelfPosition(float[] position,float[] axisForward,float[] axisRight,float[] axisUp)
更新自身的位置和朝向。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
positionfloat[]自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisForwardfloat[]自身坐标系前轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisRightfloat[]自身坐标系右轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisUpfloat[]自身坐标系上轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

详情

更新用户的位置和朝向,以便 SDK 计算出用户与音源距离以及左右耳立体声效果。

  • 业务场景:当用户在游戏中操作的角色在世界地图中移动时,更新角色的位置信息以及头部朝向。
  • 调用时机:在登录房间 [loginRoom] 后调用。
  • 支持版本:2.11.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:在调用 [enableSpeaker] 打开扬声器之前如果没有调用该接口设置位置信息,则无法接收除小队以为其他人的声音。

UpdateAudioSource

UpdateAudioSource
public abstract void UpdateAudioSource(string userID,float[] position)
添加或更新音源位置信息。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
userIDstring发声者的 userID。
positionfloat[]发声者在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。

详情

设置 userID 对应的音源在房间内游戏地图位置,以便 SDK 计算听者与音源的距离和方位。

  • 业务场景:更新发声用户在游戏地图坐标中的位置。
  • 调用时机:调用 [loginRoom] 登录房间后调用,登出房间后会清空记录的音源信息。
  • 支持版本:2.11.0 及以上。
  • 使用限制:不适用于 WebGL。

EnableSpatializer

EnableSpatializer
public abstract void EnableSpatializer(bool enable)
开启或关闭 3D 音效。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
enablebool是否开启 3D 音效。

详情

开启3D音效后将根据发声者相当于听者的位置模拟实际空间中的声音效果,直观的感受就是音源远近和方位发生变化时声音大小和左右声音差也会发生变化。

  • 业务场景:第一人称射击类游戏或社交场景游戏中听声辨位功能。
  • 默认值:没有调用该函数时,默认关闭 3D 音效。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:开启 3D 音效后,可使用 [updateAudioSource] 或 [updateSelfPosition] 改变位置和朝向来体验 3D 效果。
  • 支持版本:2.11.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:该功能只对小队以外的人生效。

EnableMicrophone

EnableMicrophone
public abstract void EnableMicrophone(bool enable)
开启或关闭麦克风。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
enablebool是否开启麦克风。

详情

enable 为 "true" 时开启麦克风并推送音频流,为 "false" 时关闭麦克风并停止推送音频流。

  • 业务场景:用户在房间内打开或关闭麦克风交流。
  • 默认值:没有调用该函数时,默认关闭麦克风。
  • 调用时机:在初始化范围语音 [createRangeAudio] 和 登录房间 [loginRoom] 之后。
  • 相关回调:通过回调 [onRangeAudioMicrophoneStateUpdate] 来获取麦克风开关状态变化。
  • 支持版本:2.11.0 及以上。
  • 注意事项:开启麦克风会自动使用主通道推音频流。

EnableSpeaker

EnableSpeaker
public abstract void EnableSpeaker(bool enable)
开启或关闭扬声器。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
enablebool是否开启扬声器。

详情

enable 为 "true" 时开启扬声器并拉取音频流,为 "false" 时关闭扬声器并停止拉取音频流。

  • 业务场景:用户在房间内打开或关闭扬声器收听。
  • 默认值:没有调用该函数时,默认关闭扬声器。
  • 调用时机:在初始化范围语音 [createRangeAudio] 和 登录房间 [loginRoom] 之后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:开启扬声器会自动拉取房间内的音频流。

SetRangeAudioMode

SetRangeAudioMode
public abstract void SetRangeAudioMode(ZegoRangeAudioMode mode)
设置范围语音模式。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
modeZegoRangeAudioMode范围语音模式。

详情

收听模式,可设置为 “全世界” 模式或 ”仅小队“ 模式。

  • 业务场景:用户可选在 “全世界“ 模式下与所有人聊天(有距离限制),也可选择 ”仅小队“ 模式下团队内交流(无距离限制)。
  • 默认值:没有调用该函数时,默认使用 “全世界” 模式。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:在 “全世界” 模式下可设置声音接收范围 [setAudioReceiveRange],在 “仅小队” 模式下需要设置 [setTeamID] 加入对应小队才能听到队伍内的声音。
  • 支持版本:2.11.0 及以上。
  • 使用限制:不能与 [setRangeAudioCustomMode] 混用。

SetRangeAudioCustomMode

SetRangeAudioCustomMode
public abstract void SetRangeAudioCustomMode(ZegoRangeAudioSpeakMode speakMode,ZegoRangeAudioListenMode listenMode)
设置范围语音的高阶自定义模式。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
speakModeZegoRangeAudioSpeakMode范围语音发声模式。
listenModeZegoRangeAudioListenMode范围语音收听模式。

详情

可以分别设置发声模式和收听模式,以控制在世界和小队中的发声和收听行为。

  • 业务场景:用户可通过选择发声模式来决定谁能收听到他的声音,也可通过选择收听模式来决定收听谁的声音。
  • 默认值:没有调用该接口时,默认使用 “发声到所有” 模式和 “收听所有” 模式,也就是 “全世界” 模式。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:当希望收听来自世界的声音时,需要设置声音接收范围 [setAudioReceiveRange]。当希望在小队中发声和收听时,需要设置 [setTeamID] 加入对应小队。
  • 支持版本:3.3.0 及以上。
  • 使用限制:1. 不能与 [setRangeAudioMode] 混用;
  1. 与3.3.0之前的版本无法兼容。

SetTeamID

SetTeamID
public abstract void SetTeamID(string teamID)
设置队伍 ID
Declared in ZegoRangeAudio.cs

参数

名称类型描述
teamIDstring队伍 ID,为空退出小队,最大长度为 64 字节的字符串。支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '\'。

详情

设置队伍 ID 后,将能与同一队伍其他用户交流,且声音不会随距离方向产生变化;也可以通过设置空字符串来退出小队。

  • 业务场景:用户加入小队交流或退出小队。
  • 默认值:没有调用该函数时,默认不加入任何小队。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 支持版本:2.11.0 及以上。
  • 注意事项:小队内的声音不会有距离限制,也不会有 3D 音效。

MuteUser

MuteUser
public abstract void MuteUser(string userID,bool mute)
是否可接收指定用户音频数据。
Declared in ZegoRangeAudio.cs

参数

名称类型描述
userIDstring用户 ID。
mutebool是否可以接收指定远端用户的音频数据,“true” 表示禁止,“false” 表示接收,默认值为 “false”。

详情

在实时音视频互动过程中,本地用户可根据需要,通过此函数控制是否接收指定远端用户的音频数据,当开发者不接收音频收据时,可降低硬件和网络的开销。

  • 业务场景:当开发者需要快速关闭、恢复远端音频时,可调用此函数,提升互动体验。
  • 默认值:默认为 “false”,即接收所有用户的音频数据。
  • 调用时机:在初始化范围语音 [createRangeAudio] 之后。
  • 相关接口:可调用 [muteAllPlayStreamAudio] 函数控制是否接收所有音频数据。1. 当调用 [muteAllPlayStreamAudio(true)] 函数时,全局生效,即本地用户会禁止接收所有远端用户的音频数据,此时无论在 [muteAllPlayStreamAudio] 之前还是之后调用 [muteUser] 函数都不生效。2. 当调用 [muteAllPlayStreamAudio(false)] 函数时,本地用户可以接收所有远端用户的音频数据,此时可再通过 [muteUser] 函数控制是否接收指定用户的音频数据。调用 [muteUser(userID, true)] 函数则本地用户可以接收该 “userID” 之外的其他音频数据;调用 [muteUser(userID, false)] 函数则本地用户可以接收 “userID” 的音频数据。
  • 支持版本:2.16.0 及以上。
  • 注意事项:只有当 [muteAllPlayStreamAudio] 函数设置为 “false”时,此函数才有效。

ZegoRangeScene

Declared in ZegoRangeScene.cs

方法

GetRangeSceneStream

GetRangeSceneStream
public abstract ZegoRangeSceneStream GetRangeSceneStream()
获取范围场景流管理实例对象。
Declared in ZegoRangeScene.cs

获取范围场景流管理实例对象。

  • 业务场景:常用于虚拟世界场景中,用户可通过获取范围场景流管理实例对象使用相关功能。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。

范围场景流管理实例。

GetRangeSceneHandle

GetRangeSceneHandle
public abstract int GetRangeSceneHandle()
获取范围场景实例句柄。
Declared in ZegoRangeScene.cs

获取范围场景实例句柄。

  • 业务场景:用于推流到场景。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。

范围场景实例句柄。

LoginScene

LoginScene
public abstract int LoginScene(ZegoSceneParam param,OnLoginSceneCallback callback)
登录场景。
Declared in ZegoRangeScene.cs

参数

名称类型描述
paramZegoSceneParam场景参数。
callbackOnLoginSceneCallback登录场景结果回调。

详情

SDK 范围场景功能用"场景"概念来组织用户。

  • 业务场景:在同一个场景内用户在虚拟世界内互动。
  • 调用时机:通过 [createRangeScene] 创建范围场景之后,通过 [destroyRangeScene] 销毁范围场景之前。
  • 相关回调: 1. 当用户开始登录场景、登录场景成功或登录场景失败后,将会触发 [onSceneStateUpdate] 回调通知开发者当前用户连接场景的状态。 2. 如果由于网络质量原因导致网络临时中断,SDK 内部会自动进行重连。可通过监听 [onSceneStateUpdate] 回调获取本端当前场景连接状态的变化情况。
  • 相关接口:1. 可调用 [logoutScene] 退出登录。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项: 1. 使用不同 appID 的 App 不能互通。 2. 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。 隐私保护申明:请勿在此接口填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

LogoutScene

LogoutScene
public abstract int LogoutScene(OnLogoutSceneCallback callback)
退出场景。
Declared in ZegoRangeScene.cs

参数

名称类型描述
callbackOnLogoutSceneCallback退出场景结果回调。

详情

该接口会退出当前用户已登录的场景。

  • 调用时机:登录场景成功后,若不再使用场景功能,用户可以调用函数 [logoutScene]。
  • 相关回调:调用此函数后会收到 [onSceneStateUpdate] 回调通知成功退出场景。
  • 相关接口:用户可以调用 [loginScene] 函数登录场景。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:退出场景会停止该用户与场景相关的所有推拉流。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

UpdateUserStatus

UpdateUserStatus
public abstract int UpdateUserStatus(ZegoPosition position,uint channel,byte[] status)
更新用户的状态。
Declared in ZegoRangeScene.cs

参数

名称类型描述
positionZegoPosition用户当前位置。
channeluint状态所属通道,从0开始,不能超过最大通道号。
statusbyte[]用户当前状态数据。

详情

开发者可以调用该接口更新用户的状态。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

UpdateUserCommand

UpdateUserCommand
public abstract int UpdateUserCommand(ZegoPosition position,uint channel,byte[] command)
更新用户的指令。
Declared in ZegoRangeScene.cs

参数

名称类型描述
positionZegoPosition用户当前位置。
channeluint指令所属通道,从0开始,不能超过最大通道号。
commandbyte[]用户下一步命令数据。

详情

开发者可以调用该接口更新用户的指令。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

UpdateUserPosition

UpdateUserPosition
public abstract int UpdateUserPosition(ZegoPosition position)
更新用户的位置。
Declared in ZegoRangeScene.cs

参数

名称类型描述
positionZegoPosition用户当前位置。

详情

开发者可以调用该接口更新用户的位置。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

GetUserCount

GetUserCount
public abstract int GetUserCount(OnGetUserCountCallback callback)
获取场景内总人数。
Declared in ZegoRangeScene.cs

参数

名称类型描述
callbackOnGetUserCountCallback获取场景内总人数结果回调。

详情

开发者可以调用该接口获取场景内总人数。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:NULL。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

GetUserListInView

GetUserListInView
public abstract int GetUserListInView(OnGetUserListInViewCallback callback)
获取范围内用户列表。
Declared in ZegoRangeScene.cs

参数

名称类型描述
callbackOnGetUserListInViewCallback获取范围内用户列表结果回调。

详情

开发者可以调用该接口获取范围内用户列表。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:NULL。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

SendCustomCommand

SendCustomCommand
public abstract int SendCustomCommand(byte[] command,OnSendCustomCommandCallback callback)
发送用户自定义信令。
Declared in ZegoRangeScene.cs

参数

名称类型描述
commandbyte[]自定义信令。
callbackOnSendCustomCommandCallback发送用户自定义信令结果回调。

详情

开发者可以调用该接口发送用户自定义信令。

  • 调用时机:[loginScene] 之后,[logoutScene] 之前。
  • 默认值:NULL。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

RenewToken

RenewToken
public abstract int RenewToken(string token)
更新 Token 鉴权信息。
Declared in ZegoRangeScene.cs

参数

名称类型描述
tokenstring需要更新的 Token。

详情

当开发者收到 [onSceneTokenWillExpire] 之后,可使用此 API 更新 Token 鉴权信息,保障后续 RTC 功能正常。

  • 业务场景:Token 将要过期时使用。
  • 调用时机:收到 [onSceneTokenWillExpire] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:不适用于 WebGL。

返回值

错误码,详情请参考常用错误码文档 https://doc-zh.zego.im/zh/4378.html

SetStreamConfig

SetStreamConfig
public abstract int SetStreamConfig(ZegoSceneStreamConfig config)
设置场景推拉流模式。
Declared in ZegoRangeScene.cs

参数

名称类型描述
configZegoSceneStreamConfig场景推拉流模式。

详情

开发者可以调用该接口设置场景推拉流模式。

  • 调用时机:[createRangeScene] 之后。
  • 默认值:NULL。
  • 支持版本:3.2.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRangeSceneStream

Declared in ZegoRangeSceneStream.cs

方法

SetReceiveRange

SetReceiveRange
public abstract int SetReceiveRange(float range)
设置音视频流的接收范围。
Declared in ZegoRangeSceneStream.cs

参数

名称类型描述
rangefloat以本人为中心点的范围距离。

详情

该接口会设置音视频流的接收范围,ZEGO SDK 会主动拉取进去该范围的用户的流。

  • 调用时机:[getRangeSceneStream] 之后。
  • 默认值:接受范围的默认值是 0.0。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

SetReceiveRange

SetReceiveRange
public abstract int SetReceiveRange(ZegoReceiveRangeParam param)
设置音视频流的接收范围。
Declared in ZegoRangeSceneStream.cs

参数

名称类型描述
paramZegoReceiveRangeParam音频接受范围配置。

详情

该接口会设置音视频流的接收范围,ZEGO SDK 会主动拉取进去该范围的用户的流。

  • 调用时机:[getRangeSceneStream] 之后。
  • 默认值:接受范围的默认值是 0.0。
  • 支持版本:3.7.0 及以上。
  • 使用限制:无。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

EnableRangeSpatializer

EnableRangeSpatializer
public abstract int EnableRangeSpatializer(bool enable)
开启或关闭 3D 空间音效。
Declared in ZegoRangeSceneStream.cs

参数

名称类型描述
enablebooltrue: 开启 3D 空间音效, false: 关闭 3D 空间音效。

详情

开启后,在世界内非小队成员的音频,会随与本人的距离、方向产生空间变化。

  • 调用时机:[getRangeSceneStream] 之后。
  • 默认值:Disable。
  • 支持版本:3.0.0 及以上。
  • 使用限制:使用 3D 空间音效需要使用媒体音量。不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

MutePlayAudio

MutePlayAudio
public abstract int MutePlayAudio(string userID,bool mute)
设置是否接收指定用户的音频数据。
Declared in ZegoRangeSceneStream.cs

参数

名称类型描述
userIDstring用户 ID。
mutebooltrue: 不接收用户的音频流,false: 接收用户的音频流。

详情

设置是否接收指定用户的音频数据。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:接收。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

MutePlayVideo

MutePlayVideo
public abstract int MutePlayVideo(string userID,bool mute)
设置是否接收指定用户的视频数据。
Declared in ZegoRangeSceneStream.cs

参数

名称类型描述
userIDstring用户 ID。
mutebooltrue: 不接收用户的视频流,false: 接收用户的视频流。

详情

开启后,在世界内非小队成员的音频,会随与本人的距离、方向产生空间变化。

  • 调用时机:[LoginScene] 之后,[LogoutScene] 之前。
  • 默认值:接收。
  • 支持版本:3.0.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无。

返回值

错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html

ZegoRealTimeSequentialDataManager

Declared in ZegoRealTimeSequentialDataManager.cs

方法

StartBroadcasting

StartBroadcasting
public abstract void StartBroadcasting(string streamID)
开始广播实时有序数据流。
Declared in ZegoRealTimeSequentialDataManager.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 的字符串。
注意事项:
1. 需要在整个 AppID 内全局唯一(注意也不可以与 [startPublishingStream] 中传的流 ID 重复),若出现在同一个 AppID 内,不同的用户各推了一条流且流名相同,将会导致后推流的用户推流失败。
2. 仅支持数字,英文字符 和 '-', '_'。

详情

可通过此函数让用户将自己本地的实时有序数据流广播到 ZEGO RTC 服务器,同一房间的其他用户通过 "streamID" 就可以订阅该实时有序数据流进行互通。

  • 业务场景:在发送实时有序数据前,需要先调用此函数开始广播。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用此函数后,本端将收到 [onPublisherStateUpdate] 回调,告知本端这条流的广播状态(推流状态),广播成功后,同一房间内的其他用户将会收到 [onRoomStreamUpdate] 回调,告知其他用户房间内新增了一条流。

StopBroadcasting

StopBroadcasting
public abstract void StopBroadcasting(string streamID)
停止广播实时有序数据流
Declared in ZegoRealTimeSequentialDataManager.cs

参数

名称类型描述
streamIDstring需要停止广播的流 ID

详情

可通过此函数让用户停止广播自己本地的实时有序数据流。

  • 业务场景:当不再需要发送实时有序数据后,需要调用此函数停止广播。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用此函数后,本端将收到 [onPublisherStateUpdate] 回调,告知本端这条流的广播状态(推流状态),停止广播后,同一房间内的其他用户将会收到 [onRoomStreamUpdate] 回调,告知其他用户房间内删除了一条流。

SendRealTimeSequentialData

SendRealTimeSequentialData
public abstract void SendRealTimeSequentialData(IntPtr data,uint dataLength,string streamID,OnRealTimeSequentialDataSent callback)
在广播中的流 ID 上发送实时有序数据
Declared in ZegoRealTimeSequentialDataManager.cs

参数

名称类型描述
dataIntPtr要发送的实时有序数据数据。
dataLengthuint数据内容长度。
streamIDstring通过哪个流 ID 发送实时有序数据。
callbackOnRealTimeSequentialDataSent发送实时有序数据结果通知。

详情

可通过此函数在当前正在广播中的流上发送实时有序数据。

  • 业务场景:当需要发送实时有序数据时需要调用此函数。
  • 调用时机:调用了 [startBroadcasting] 成功开始广播后调用。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:无

StartSubscribing

StartSubscribing
public abstract void StartSubscribing(string streamID)
开始订阅实时有序数据流。
Declared in ZegoRealTimeSequentialDataManager.cs

参数

名称类型描述
streamIDstring流 ID,长度不超过 256 字节的字符串。
注意事项:
仅支持数字,英文字符 和 '-', '_'。

详情

可通过此函数让用户可以从 ZEGO RTC 服务器订阅远端用户的实时有序数据流。

  • 业务场景:当需要接收来自其他用户发送的实时有序数据前,需要先调用此函数开始订阅对方的流。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用此函数后,本端将收到 [onPlayerStateUpdate] 回调,告知本端这条流的订阅状态(拉流状态)。

StopSubscribing

StopSubscribing
public abstract void StopSubscribing(string streamID)
停止订阅实时有序数据流。
Declared in ZegoRealTimeSequentialDataManager.cs

参数

名称类型描述
streamIDstring需要停止订阅的流 ID

详情

可通过此函数停止订阅实时有序数据流。

  • 业务场景:当不再需要接收其他用户发送的实时有序数据后,需要调用此函数停止订阅对方的流。
  • 调用时机:创建 [ZegoRealTimeSequentialDataManager] 实例后。
  • 支持版本:2.14.0 及以上。
  • 使用限制:不适用于 WebGL。
  • 注意事项:调用此函数后,本端将收到 [onPlayerStateUpdate] 回调,告知本端这条流的订阅状态(拉流状态)。

GetIndex

GetIndex
public abstract int GetIndex()
获取实时有序数据管理器索引。不适用于 WebGL。
Declared in ZegoRealTimeSequentialDataManager.cs

实时有序数据管理器索引。

ZegoScreenCaptureSource

Declared in ZegoScreenCaptureSource.cs

方法

UpdateCaptureSource

UpdateCaptureSource
public abstract void UpdateCaptureSource(long sourceId,ZegoScreenCaptureSourceType sourceType)
更新屏幕采集源
Declared in ZegoScreenCaptureSource.cs

参数

名称类型描述
sourceIdlong指定的屏幕 ID 或窗口 ID。
sourceTypeZegoScreenCaptureSourceType指定的屏幕源类型。

详情

根据提供的源的 ID 和源的类型更新屏幕采集源对象。

  • 业务场景:需要对屏幕或窗口有录制和分享等业务时使用。
  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

StartCapture

StartCapture
public abstract void StartCapture()
开始屏幕采集。
Declared in ZegoScreenCaptureSource.cs

开始屏幕采集。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。

StopCapture

StopCapture
public abstract void StopCapture()
停止屏幕采集。
Declared in ZegoScreenCaptureSource.cs

停止屏幕采集。

  • 支持版本:3.1.0 及以上。

GetCaptureSourceRect

GetCaptureSourceRect
public abstract ZegoRect GetCaptureSourceRect()
获取屏幕采集源的矩形。
Declared in ZegoScreenCaptureSource.cs

获取屏幕采集源的矩形。

  • 支持版本:3.6.0 及以上
  • 使用限制:开始采集 [startScreenCapture] 之后调用,只适用于 Windows/macOS 系统。

采集资源的矩形信息

UpdateCaptureRegion

UpdateCaptureRegion
public abstract void UpdateCaptureRegion(ZegoRect rect)
更新屏幕采集的区域。
Declared in ZegoScreenCaptureSource.cs

参数

名称类型描述
rectZegoRect待采集区域相对于整个屏幕或窗口的位置。

详情

更新屏幕采集的区域。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS 系统

SetExcludeWindowList

SetExcludeWindowList
public abstract void SetExcludeWindowList(List<long> list)
设置过滤的窗口列表。
Declared in ZegoScreenCaptureSource.cs

参数

名称类型描述
listList<long>过滤窗口的 ID 列表。

详情

指定窗口列表,在采集屏幕时将这些窗口过滤,不在画面中显示。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

EnableWindowActivate

EnableWindowActivate
public abstract void EnableWindowActivate(bool active)
是否激活窗口提升至前台显示。
Declared in ZegoScreenCaptureSource.cs

参数

名称类型描述
activebool是否激活窗口。true 为激活窗口,false 不激活窗口,默认 true。

详情

在采集目标为窗口的情况下,初次采集时,设置是否激活窗口提升至前台显示。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

EnableCursorVisible

EnableCursorVisible
public abstract void EnableCursorVisible(bool visible)
设置是否显示光标
Declared in ZegoScreenCaptureSource.cs

参数

名称类型描述
visiblebool是否显示光标。true 为显示光标,false 不显示光标,默认 false。

详情

设置是否显示光标。

  • 调用时机:在创建屏幕采集实例 [createScreenCaptureSource] 之后。
  • 支持版本:3.1.0 及以上。
  • 使用限制:只适用于 Windows/macOS

GetIndex

GetIndex
public abstract int GetIndex()
获取屏幕采集源索引。
Declared in ZegoScreenCaptureSource.cs

屏幕采集源索引。

Previous

功能总览

Next

Interface