IZegoEventHandler
IZegoEventHandler
Declared in callback/IZegoEventHandler.java
方法
onDebugError
public void onDebugError(int errorCode, String funcName, String info)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
| funcName | String | 函数名。 |
| info | String | 错误的详细信息。 |
详情
调用 SDK 函数出现异常时,会通过该回调提示详细的异常信息。
- 业务场景:开发者在集成 SDK 的开发、测试阶段,可以通过本回调中的详细异常信息快速定位问题。
- 通知时机:在 SDK 出现异常时通知开发者。
- 支持版本:1.1.0 及以上。
- 使用限制:无。
- 注意事项:无。
onEngineStateUpdate
public void onEngineStateUpdate(ZegoEngineState state)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| state | ZegoEngineState | 音视频引擎状态。 |
详情
音视频引擎状态更新的回调通知,当启用音视频功能时,比如预览、推流、本地媒体播放器、原始音频数据获取等,音视频引擎会进入开始状态,当退出房间或停用所有音视频功能时,音视频引擎会进入停止状态。
- 通知时机:开发者调用了相关函数改变了音视频引擎的状态。例如:1. 调用了ZegoExpressEngine的 [startPreview]、[stopPreview]、[startPublishingStream]、[startPlayingStream]、[startAudioDataObserver] 等函数。2. 调用了 MediaPlayer 的相关函数等。3. 调用了 [logoutRoom] 函数。4.调用了 RealTimeSequentialDataManager 的相关接口等。
- 支持版本:1.1.0 及以上。
- 使用限制:无。
- 注意事项: 1. 开发者调用 [destroyEngine] 时,由于 SDK 的资源被完全释放,并不会触发此通知。 2. 如无特殊需要,开发者可以不必关注本回调。
onRecvExperimentalAPI
public void onRecvExperimentalAPI(String content)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| content | String | 回调的内容,JSON 字符串格式。 |
详情
接收实验性 API 回调,请在 ZEGO 技术支持的帮助下使用此功能。
- 支持版本:2.7.0 及以上。
onFatalError
public void onFatalError(int errorCode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 错误码。 |
详情
发生致命性错误的回调通知。
- 通知时机:当 APP 开启了禁止域外 IP 访问的限制,当前客户端处于域外,就会触发。
- 支持版本:3.6.0 及以上。
- 使用限制:无。
- 注意事项: 无。
onVideoBackendTypeChanged
public void onVideoBackendTypeChanged(ZegoVideoBackendType type)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| type | ZegoVideoBackendType | 视频后端类型。 |
详情
音视频引擎使用的视频后端变更的回调通知。
- 支持版本:3.18.0 及以上。
- 注意事项: 1. 开发者调用 [destroyEngine] 时,由于 SDK 的资源被完全释放,并不会触发此通知。 2. 如无特殊需要,开发者可以不必关注本回调。
onRoomStateUpdate
public void onRoomStateUpdate(String roomID, ZegoRoomState state, int errorCode, JSONObject extendedData)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 房间 ID,最大长度为 128 字节的字符串。 |
| state | ZegoRoomState | 变化后的房间状态。 |
| errorCode | int | 错误码,详情请参考 常见错误码。 |
| extendedData | JSONObject | 状态更新附带的扩展信息。当房间登录成功时,可通过"room_session_id" key 获取每一次音视频通信唯一的 RoomSessionID,标识房间内首个用户发起音视频通信到最后一个用户结束通信的持续通信。可用于通话质量评分、通话问题诊断等场景中。 |
详情
当房间的连接状态改变时触发该回调,并通知改变的原因。2.18.0 及以上版本推荐使用 onRoomStateChanged 回调来替代 onRoomStateUpdate 回调监听房间状态变化。
- 业务场景:开发者可以通过这个回调来判断房间内当前用户的状态。
- 通知时机: 1. 开发者调用 [loginRoom]、[logoutRoom]、[switchRoom] 函数时会收到此通知。
- 用户设备的网络情况变化时也可能收到此通知 (SDK 在断线时会自动重新登录房间,详情请参考 SDK 是否支持断线重连机制。
- 相关接口:[loginRoom]、[logoutRoom]、[switchRoom]。
- 支持版本:1.1.0 及以上。
- 使用限制:无。
- 注意事项:若长时间处于正在请求连接状态(ZegoRoomStateConnecting),一般是因为用户端网络不稳定导致。
onRoomStateChanged
public void onRoomStateChanged(String roomID, ZegoRoomStateChangedReason reason, int errorCode, JSONObject extendedData)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 房间 ID,最大长度为 128 字节的字符串。 |
| reason | ZegoRoomStateChangedReason | 房间状态变化原因。 |
| errorCode | int | 错误码,详情请参考常用 错误码文档 https://doc-zh.zego.im/zh/4378.html |
| extendedData | JSONObject | 状态更新附带的扩展信息。当房间登录成功时,可通过 "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
public void onRoomUserUpdate(String roomID, ZegoUpdateType updateType, ArrayList<ZegoUser> userList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 用户已登录的房间 ID,最大长度为 128 字节的字符串。 |
| updateType | ZegoUpdateType | 更新类型(添加/删除)。 |
| userList | ArrayList<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
public void onRoomOnlineUserCountUpdate(String roomID, int count)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 用户已登录的房间 ID,最大长度为 128 字节的字符串。 |
| count | int | 当前在线用户数量。 |
详情
此方法会通知用户当前房间内的在线人数。
- 业务场景:开发者可根据此回调来来展示当前房间内的在线人数。
- 通知时机:登录房间成功后。
- 支持版本:1.7.0 及以上。
- 使用限制:无。
- 注意事项:1. 此函数 30 秒回调一次。2. 因设计如此,当房间内用户超过 500 后,对房间内在线人数的统计会有一些误差。
onRoomStreamUpdate
public void onRoomStreamUpdate(String roomID, ZegoUpdateType updateType, ArrayList<ZegoStream> streamList, JSONObject extendedData)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 用户已登录的房间 ID,最大长度为 128 字节的字符串。 |
| updateType | ZegoUpdateType | 更新类型(添加/删除)。 |
| streamList | ArrayList<ZegoStream> | 更新的流列表。 |
| extendedData | JSONObject | 流更新附带的扩展信息。收到流删除通知时,开发者可将该字符串转为 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
public void onRoomStreamExtraInfoUpdate(String roomID, ArrayList<ZegoStream> streamList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 用户已登录的房间 ID,最大长度为 128 字节的字符串。 |
| streamList | ArrayList<ZegoStream> | 流附加信息更新的流列表。 |
详情
房间内流附加信息更新时所有房间内用户会收到通知。
- 业务场景:用户可通过流附加信息与流生命周期一致的特性实现一些业务功能。
- 通知时机:当相同房间内一个正在推流的用户更新了流的附加信息时,相同房间内的其他用户会收到该回调。
- 相关接口:推流用户可以通过 [setStreamExtraInfo] 设置流附加信息。
- 支持版本:1.1.0 及以上。
- 使用限制:无。
- 注意事项:不同于流 ID 在推流过程中不可修改,流附加信息可以在对应流 ID 的生命周期中更新。
onRoomExtraInfoUpdate
public void onRoomExtraInfoUpdate(String roomID, ArrayList<ZegoRoomExtraInfo> roomExtraInfoList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 用户已登录的房间 ID,最大长度为 128 字节的字符串。 |
| roomExtraInfoList | ArrayList<ZegoRoomExtraInfo> | 更新的房间附加信息列表。 |
详情
房间附加信息更新后,除更新房间附加信息的用户外,房间内所有用户会收到通知。
- 业务场景:为房间附加信息。
- 通知时机:当相同房间内其他用户更新了房间附加信息时,相同房间内的其他用户会收到该回调。
- 相关接口:用户可以通过 [setRoomExtraInfo] 更新房间附加信息。
- 支持版本:1.1.0 及以上。
- 使用限制:无。
onRoomTokenWillExpire
public void onRoomTokenWillExpire(String roomID, int remainTimeInSecond)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 用户已登录的房间 ID,最大长度为 128 字节的字符串。 |
| remainTimeInSecond | int | token 过期前的剩余时间。 |
详情
房间 Token 鉴权将要过期的回调通知,请用户通过 [renewToken] 函数更新房间 Token 鉴权。
- 业务场景:为了防止炸麦场景,需要对登录房间、推流等操作进行鉴权控制,提高安全性。
- 通知时机:在 Token 过期前 30 秒,SDK 会通过 onRoomTokenWillExpire 回调发出通知。
- 相关接口:当开发者收到此回调后,可通过 [renewToken] 来更新 token 鉴权信息。
- 支持版本:2.8.0 及以上。
- 使用限制:无。
- 注意事项:Token 中包含用户的房间权限、推流权限、有效时间等重要信息,详情请参考 https://doc-zh.zego.im/article/10360 。
onPublisherStateUpdate
public void onPublisherStateUpdate(String streamID, ZegoPublisherState state, int errorCode, JSONObject extendedData)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 推流的流 ID。 |
| state | ZegoPublisherState | 推流状态。 |
| errorCode | int | 推流状态变更对应的错误码。请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
| extendedData | JSONObject | 状态更新附带的扩展信息,包含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
public void onPublisherQualityUpdate(String streamID, ZegoPublishStreamQuality quality)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 推流的流 ID。 |
| quality | ZegoPublishStreamQuality | 推流质量,包含了音视频帧率、码率、RTT 等值。 |
详情
在调用推流接口 [startPublishingStream] 成功后默认3秒(该时间如果需要变更,请联系 ZEGO 技术支持配置)会收到此回调,通过该回调可以获取推送的音视频流的采集帧率,码率,RTT,丢包率等质量数据。开发者可根据此函数的质量参数实时监控推送的音视频流的健康情况,以便在设备 UI 界面上实时展示上行网络状况。
- 相关回调:当调用拉流接口 [startPlayingStream] 成功后每3秒会收到回调 [onPlayerQualityUpdate],开发者可根据拉取的音视频流的帧率,码率,RTT,丢包率等质量数据,实时监控拉取流的健康情况。
- 支持版本:1.1.0 及以上。
- 注意事项:若开发者不清楚该回调函数的各个参数应该如何使用,可以只关注其中的 [quality] 参数的 [level] 字段,这是 SDK 内部根据质量参数计算的一个描述上行网络的综合值。
onPublisherCapturedAudioFirstFrame
public void onPublisherCapturedAudioFirstFrame()callback/IZegoEventHandler.javaSDK 启动麦克风采集到第一帧音频数据时会收到此回调。若未收到该回调,说明音频采集设备被占用或异常。
- 通知时机:SDK内部的音视频模块的引擎启动时,SDK 会去采集本机设备的音频数据,此时会收到该回调。
- 相关回调:通过回调函数[onPublisherCapturedVideoFirstFrame] 判断 SDK 是否真正采集到了视频数据,通过回调[onPublisherRenderVideoFirstFrame] 判断 SDK 是否渲染完了采集到的第一帧视频数据。
- 支持版本:1.1.0 及以上。
onPublisherCapturedVideoFirstFrame
public void onPublisherCapturedVideoFirstFrame(ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
SDK 启动摄像头采集到第一帧视频数据时会收到此回调。若未收到该回调,说明视频采集设备被占用或异常。
- 通知时机:SDK 内部的音视频模块的引擎启动时,SDK 会去采集本机设备的视频数据,此时会收到该回调。
- 相关回调:通过回调函数 [onPublisherCapturedAudioFirstFrame] 判断 SDK 是否真的采集到音频数据,通过回调 [onPublisherRenderVideoFirstFrame] 判断 SDK 是否渲染完采集到的第一帧视频数据。
- 支持版本:1.1.0 及以上。
onPublisherSendAudioFirstFrame
public void onPublisherSendAudioFirstFrame(ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| channel | ZegoPublishChannel | 推流通道,如果只推一路音频流,可以不关注该参数。 |
详情
调用推流函数 [startPublishingStream] 成功后,SDK 发出第一帧音频数据时会收到此回调。开发者可根据该回调判断 SDK 是否真的发出音频数据,若未收到该回调,说明音频发送异常。
- 通知时机:在未调用推流函数 [startPublishingStream] 的情况下,首次推流 SDK 会收到该回调。
- 相关回调:调用推流函数 [startPublishingStream] 成功后, 通过回调函数 [onPublisherCapturedVideoFirstFrame] 判断 SDK 是否真的采集到视频数据,通过回调 [onPublisherRenderVideoFirstFrame] 判断 SDK 是否渲染完采集到的第一帧视频数据。
- 支持版本:3.5.0 及以上。
onPublisherSendVideoFirstFrame
public void onPublisherSendVideoFirstFrame(ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| channel | ZegoPublishChannel | 推流通道,如果只推一路视频流,可以不关注该参数。 |
详情
调用推流函数 [startPublishingStream] 成功后,SDK 发出第一帧视频数据时会收到此回调。开发者可根据该回调判断 SDK 是否真的发出视频数据,若未收到该回调,说明视频发送异常。
- 通知时机:在未调用推流函数 [startPublishingStream] 的情况下,首次推流 SDK 会收到该回调。
- 相关回调:调用推流函数 [startPublishingStream] 成功后, 通过回调函数 [onPublisherCapturedAudioFirstFrame] 判断 SDK 是否真的采集到音频数据,通过回调 [onPublisherRenderVideoFirstFrame] 判断 SDK 是否渲染完采集到的第一帧视频数据。
- 支持版本:3.5.0 及以上。
onPublisherRenderVideoFirstFrame
public void onPublisherRenderVideoFirstFrame(ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
SDK 渲染完采集到的第一帧视频数据时会收到此回调,该接口为预览渲染,自定义视频采集内部预览才有首帧回调,如果不是 SDK 渲染没有此回调。
- 相关回调:调用推流函数 [startPublishingStream] 成功后, 通过回调函数 [onPublisherCapturedAudioFirstFrame] 判断 SDK 是否真的采集到音频数据,通过回调 [onPublisherCapturedVideoFirstFrame] 判断 SDK 是否真的采集到视频数据。
- 支持版本:2.4.0 及以上。
onPublisherVideoSizeChanged
public void onPublisherVideoSizeChanged(int width, int height, ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| width | int | 视频采集分辨率宽。 |
| height | int | 视频采集分辨率高。 |
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
当在未推流 [startPublishingStream] 或未预览 [startPreview] 的情况下,首次推流或首次预览,即 SDK 内部的音视频模块的引擎启动时,会去采集本机设备的视频数据,此时采集分辨率会改变。
- 通知时机:推流 [startPublishingStream] 成功后,在推流中途如果有改变视频采集分辨率发生变化将会收到此回调。
- 业务场景:开发者可以根据此回调来去除本地预览的 UI 的遮盖等类似操作。也可以根据该回调的分辨率来动态调整预览视图的比例等。
- 支持版本:1.1.0 及以上。
- 注意事项:外部采集时通知的是编码分辨率大小变化,会受到流控影响。
onPublisherRelayCDNStateUpdate
public void onPublisherRelayCDNStateUpdate(String streamID, ArrayList<ZegoStreamRelayCDNInfo> infoList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 推流的流 ID。 |
| infoList | ArrayList<ZegoStreamRelayCDNInfo> | 当前 CDN 正在转推的信息列表。 |
详情
开发者可根据该回调判断转推 CDN 的音视频流是否正常,若不正常根据异常原因进一步定位转推 CDN 的音视频流异常的原因,以及做对应的容灾策略。
- 通知时机:在 ZEGO RTC 服务器将音视频流转推到 CDN 后,如果 CDN 转推状态发生变化,例如出现转推停止或转推重试,将会收到此回调。
- 支持版本:1.1.0 及以上。
- 注意事项:若对异常的原因不了解,可联系 ZEGO 技术人员分析具体异常的原因。
onPublisherVideoEncoderChanged
public void onPublisherVideoEncoderChanged(ZegoVideoCodecID fromCodecID, ZegoVideoCodecID toCodecID, ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| fromCodecID | ZegoVideoCodecID | 变更前的视频编码器 ID。 |
| toCodecID | ZegoVideoCodecID | 变更后的视频编码器 ID。 |
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
推流使用的编码类型发生变化的回调。
- 通知时机:以 H.265 编码进行推流过程中,如果不支持 H.265 编码或编码失败,SDK 会主动降级为指定编码(H.264),此时会触发本回调。
- 支持版本:2.12.0 及以上。
- 注意事项:在触发本回调时,如果正在进行本地视频录制或云端录制,则会导致生成多个录制文件,开发者需要在录制结束后,收集所有录制文件进行处理。在触发本回调时,因为推流编码发生变更,开发者可以评估是否通知拉流端,以便拉流端做对应处理。
onPublisherStreamEvent
public void onPublisherStreamEvent(ZegoStreamEvent eventID, String streamID, String extraInfo)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| eventID | ZegoStreamEvent | 推流事件ID |
| streamID | String | 推流的流 ID。 |
| extraInfo | String | 附加信息。JSON 格式的字符串。目前包括的信息有 "url"表示地址, "streamProtocol"表示流协议,包括rtmp,flv,avertp,hls,webrtc等, "netProtocol"表示网络协议,包括tcp,udp,quic, "resourceType"表示资源类型,包括cdn,rtc,l3。 |
详情
发起推流后,这个回调会返回当前使用的推流地址,资源类型和协议相关信息。
- 通知时机:推流以及重试推流的事件。
- 支持版本:2.18.0 及以上。
- 注意事项:无。
onVideoObjectSegmentationStateChanged
public void onVideoObjectSegmentationStateChanged(ZegoObjectSegmentationState state, ZegoPublishChannel channel, int errorCode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| state | ZegoObjectSegmentationState | 主体分割状态。 |
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
| errorCode | int | 主体分割状态变更对应的错误码。请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
详情
推流端视频主体分割状态变化。
- 通知时机:当 [enableVideoObjectSegmentation] 开启或关闭主体分割后,根据实际情况通知开发者是否开启主体分割。
- 支持版本:3.4.0 及以上。
- 注意事项:该回调依赖于开启预览或者推流。
onPublisherLowFpsWarning
public void onPublisherLowFpsWarning(ZegoVideoCodecID codecID, ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| codecID | ZegoVideoCodecID | 视频编码器 ID。 |
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
推流视频编码低帧率警告。
- 通知时机:推流视频编码出现低帧率会触发本回调。
- 支持版本:3.8.0 及以上。
- 注意事项:该回调默认关闭,若有需要,请联系 ZEGO 技术支持。
onPublisherDummyCaptureImagePathError
public void onPublisherDummyCaptureImagePathError(int errorCode, String path, ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 错误码。 |
| path | String | 图片路径。 |
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
通知设置关闭摄像头时所推静态图片的路径错误。
- 通知时机:通过 [setDummyCaptureImagePath] 设置了图片的路径,但是推流时无法获取到该图片,就会触发本回调。
- 支持版本:3.9.0 及以上。
- 注意事项:设置前请确保该图片路径正确,有读权限。
onPublisherFaceDetectInfo
public void onPublisherFaceDetectInfo(ZegoFaceDetectionInfo info, ZegoPublishChannel channel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| info | ZegoFaceDetectionInfo | 人脸检测信息。 |
| channel | ZegoPublishChannel | 推流通道,如果只推一路音视频流,可以不关注该参数。 |
详情
人脸检测信息更新。
- 通知时机:通过 [enableFaceDetection] 接口开启人脸检测,启动相机或人脸数量变化时,就会触发本回调。
- 支持版本:3.20.0 及以上。
- 注意事项:该回调是低频的,无法与自定义视频前处理配合使用。
onPlayerStateUpdate
public void onPlayerStateUpdate(String streamID, ZegoPlayerState state, int errorCode, JSONObject extendedData)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 流 ID。 |
| state | ZegoPlayerState | 拉流状态。 |
| errorCode | int | 拉流状态变更对应的错误码。请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
| extendedData | JSONObject | 状态更新附带的扩展信息。备用,目前仅返回空 json 表。 |
详情
在调用拉流接口 [startPlayingStream] 成功后,可以通过该回调函数获取拉流状态变更的通知。开发者可根据 state 参数是否在 [正在请求拉流状态] 来大体判断用户的拉流网络情况。
- 通知时机:在调用拉流接口 [startPlayingStream] 成功后,拉流状态变更时。
- 相关回调:在调用推流接口 [startPublishingStream] 成功后,可以通过回调函数 [onPublisherStateUpdate] 获取推流状态变更的通知。开发者可根据 state 参数是否在 [正在请求推流状态] 来大体判断用户的推流网络情况。
- 支持版本:1.1.0 及以上。
onPlayerSwitched
public void onPlayerSwitched(String streamID, int errorCode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 当前播放的流 ID。 |
| errorCode | int | 切换流结果对应的错误码。请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
详情
在调用切换流接口 [switchPlayingStream] 成功后,可以通过该回调函数获取切换流的结果。
- 通知时机:在调用切换流接口 [switchPlayingStream] 成功后,切换流请求最终成功或失败时。
- 相关回调:在切换流成功或失败后,可以通过回调函数 [onPlayerStateUpdate] 获取当前拉流状态。
- 支持版本:3.16.0 及以上。
onPlayerQualityUpdate
public void onPlayerQualityUpdate(String streamID, ZegoPlayStreamQuality quality)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| quality | ZegoPlayStreamQuality | 拉流质量,包含了音视频帧率、码率、RTT 等值。 |
详情
在调用拉流接口 [startPlayingStream] 成功后每3秒(该时间如果需要变更,请联系 ZEGO 技术支持配置)会收到此回调,通过该回调可以获取拉取的音视频流的帧率,码率,RTT,丢包率等质量数据。
- 业务场景:开发者可根据此函数的质量参数实时监控拉取的音视频流的健康情况,以便在设备 UI 界面上实时展示下行网络状况。
- 相关回调:当调用推流接口 [startPublishingStream] 成功后每3秒会收到回调 [onPublisherQualityUpdate],开发者可根据推送的音视频流的帧率,码率,RTT,丢包率等质量数据,实时监控推送流的健康情况。
- 支持版本:1.1.0 及以上。
- 注意事项:若开发者不清楚该回调函数的各个参数应该如何使用,可以只关注其中的 quality 参数的 level 字段,这是 SDK 内部根据质量参数计算的一个描述下行网络的综合值。
onPlayerMediaEvent
public void onPlayerMediaEvent(String streamID, ZegoPlayerMediaEvent event)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| event | ZegoPlayerMediaEvent | 拉流时收到的具体事件。 |
详情
该回调用于接收拉流媒体事件。
- 业务场景:开发者可以根据此回调对卡顿情况做统计或在 App 的 UI 界面做友好的展示。
- 通知时机:在调用拉流接口 [startPlayingStream]后,当拉流发生音视频卡顿以及恢复等事件发生时会触发此回调。
- 支持版本:1.1.0 及以上。
onPlayerRecvAudioFirstFrame
public void onPlayerRecvAudioFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用拉流函数 [startPlayingStream] 成功后,SDK 接收到第一帧音频数据时会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
- 通知时机:SDK 从网络接收到第一帧音频数据时,会收到该回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到视频数据,通过回调 [onPlayerRenderVideoFirstFrame] 判断 SDK 是否渲染完接收到的第一帧视频数据。
- 支持版本:1.1.0 及以上。
onPlayerSyncRecvAudioFirstFrame
public void onPlayerSyncRecvAudioFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用拉流函数 [startPlayingStream] 成功后,SDK 接收到第一帧音频数据时会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
- 通知时机:SDK 从网络接收到第一帧音频数据时,会收到该回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerSyncRecvVideoFirstFrame] 判断 SDK 是否接收到视频数据,通过回调 [onPlayerSyncRecvRenderVideoFirstFrame] 判断 SDK 是否渲染完接收到的第一帧视频数据。
- 支持版本:3.22.0 及以上。
onPlayerRecvVideoFirstFrame
public void onPlayerRecvVideoFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用拉流函数 [startPlayingStream] 成功后,SDK 接收到第一帧视频数据时会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
- 通知时机:SDK 从网络接收到第一帧视频数据时,会收到该回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerRenderVideoFirstFrame] 判断 SDK 是否渲染完接收到的第一帧视频数据。
- 支持版本:1.1.0 及以上。
onPlayerSyncRecvVideoFirstFrame
public void onPlayerSyncRecvVideoFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用拉流函数 [startPlayingStream] 成功后,SDK 接收到第一帧视频数据时会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时。
- 通知时机:SDK 从网络接收到第一帧视频数据时,会收到该回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerSyncRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerSyncRecvRenderVideoFirstFrame] 判断 SDK 是否渲染完接收到的第一帧视频数据。
- 支持版本:3.8.0 及以上。
onPlayerRenderVideoFirstFrame
public void onPlayerRenderVideoFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用拉流函数 [startPlayingStream] 成功后,SDK 拉流并渲染完第一帧视频数据后会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
- 通知时机:SDK 拉流并渲染完第一帧视频数据后会收到此回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到第一帧视频数据。
- 支持版本:1.1.0 及以上。
onPlayerSyncRecvRenderVideoFirstFrame
public void onPlayerSyncRecvRenderVideoFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用拉流函数 [startPlayingStream] 成功后,SDK 拉流并渲染完第一帧视频数据后会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
- 通知时机:SDK 拉流并渲染完第一帧视频数据后会收到此回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerSyncRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerSyncRecvVideoFirstFrame] 判断 SDK 是否接收到第一帧视频数据。
- 支持版本:3.22.0 及以上。
onPlayerRenderCameraVideoFirstFrame
public void onPlayerRenderCameraVideoFirstFrame(String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
详情
调用 [startPlayingStream] 函数拉流成功后,SDK 拉流并渲染完第一帧远端摄像头视频数据后会收到此回调。
- 业务场景:开发者可用该回调来统计首帧耗时或更新播放流的 UI 组件。
- 通知时机:远端 [enableCamera] 开启摄像头后,或者 [mutePublishStreamVideo] 为 true 开始发送视频数据后,SDK 拉流并渲染完第一帧远端摄像头视频数据后会收到此回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到第一帧视频数据。
- 支持版本:3.0.0 及以上。
- 注意事项:仅适用于远端使用摄像头推流的情况。仅适用于 RTC 推拉流场景。
onPlayerRenderMultiViewFirstFrame
public void onPlayerRenderMultiViewFirstFrame(String streamID, String viewContext)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| viewContext | String | 视图上下文 |
详情
调用拉流函数 [startPlayingStream] 并且调用 [setPlayingCanvas] 添加了多个视图,SDK 拉流并在相应视图渲染完第一帧视频数据后会收到此回调。
- 业务场景:开发者可用该回调来更新播放流的 UI 组件。
- 通知时机:用户拉取混流,通过 [setPlayingCanvas] 添加了多个视图,且设置了正确的 viewContext 参数,相应视图渲染完第一帧视频数据后会触发此回调。
- 相关回调:调用拉流函数 [startPlayingStream] 成功后, 通过回调函数 [onPlayerRecvAudioFirstFrame] 判断 SDK 是否接收到音频数据,通过回调 [onPlayerRecvVideoFirstFrame] 判断 SDK 是否接收到第一帧视频数据。
- 支持版本:3.21.0 及以上。
onPlayerVideoSizeChanged
public void onPlayerVideoSizeChanged(String streamID, int width, int height)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| width | int | 视频解码分辨率宽。 |
| height | int | 视频解码分辨率高。 |
详情
调用拉流函数 [startPlayingStream] 成功后,当收到视频首帧数据,或推流方通过 [setVideoConfig] 改变编码分辨率,或流控策略生效时,拉流分辨率会发生改变。
- 业务场景:开发者可根据流的最终分辨率来更新或切换真正播放流的 UI 组件。
- 通知时机:拉流 [startPlayingStream] 成功后,在拉流中途如果有视频分辨率发生变化将会收到此回调。
- 支持版本:1.1.0 及以上。
- 注意事项: 1. 若拉的是流只有音频数据,则不会收到该回调。
- 若用户开启 ZegoVideoBufferTypeEncodedData 类型的自定义视频渲染, SDK 不负责视频解码,则不会收到该回调。
onPlayerRecvSEI
public void onPlayerRecvSEI(String streamID, byte[] data)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| data | byte[] | SEI 内容。 |
详情
调用拉流函数 [startPlayingStream] 成功后,当远端流发送 SEI 后(如 直接调用 [sendSEI] 、混音中带 SEI 数据、自定义视频采集发送码流数据时附带 SEI 等等),本端会收到此回调。
- 通知时机:拉流 [startPlayingStream] 成功后,当远端流发送 SEI 后,本端会收到此回调。
- 支持版本:1.1.0 及以上。
- 注意事项: 1. 客户可在此回调函数中直接操作 UI 控件。
- 由于视频编码器自身会产生 payload type 为 5 的 SEI,或者使用视频文件推流时,视频文件中也可能存在这样的 SEI,因此若开发者需要过滤掉这类型的 SEI 时,可在 [createEngine] 之前调用 [ZegoEngineConfig.advancedConfig("unregister_sei_filter", "XXXXX")]。其中 unregister_sei_filter 为 key,XXXXX 为需要设置的uuid过滤字符串。 3.调用 [mutePlayStreamVideo] 或 [muteAllPlayStreamVideo] 设置只拉音频流时,将无法接收媒体次要信息。
onPlayerSyncRecvSEI
public void onPlayerSyncRecvSEI(String streamID, byte[] data)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| data | byte[] | SEI 内容。 |
详情
调用拉流函数 [startPlayingStream] 成功后,当远端流发送 SEI 后(例如 直接调用 [sendSEI] 、混音中带 SEI 数据、自定义视频采集发送码流数据时附带 SEI 等等),本端会收到此回调。
- 通知时机:拉流 [startPlayingStream] 成功且远端流发送 SEI 后,本端会收到此回调。
- 支持版本:3.4.0 及以上。
- 注意事项: 1. 由于视频编码器自身会产生 payload type 为 5 的 SEI,或者使用视频文件推流时,视频文件中也可能存在这样的 SEI,因此若开发者需要过滤掉这类型的 SEI 时,可在 [createEngine] 之前调用 [ZegoEngineConfig.advancedConfig("unregister_sei_filter", "XXXXX")],其中 unregister_sei_filter 为 key,XXXXX 为需要设置的 uuid 过滤字符串。 2.执行 [mutePlayStreamVideo] 或 [muteAllPlayStreamVideo] 设置只拉音频流时,将无法接收媒体次要信息。
onPlayerRecvMediaSideInfo
public void onPlayerRecvMediaSideInfo(ZegoMediaSideInfo info)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| info | ZegoMediaSideInfo | SEI 回调信息。 |
详情
调用拉流函数 [startPlayingStream] 成功后,当远端流发送 SEI 后(例如 直接调用 [sendSEI] 、混音中带 SEI 数据、自定义视频采集发送码流数据时附带 SEI 等等),本端会收到此回调。
- 通知时机:拉流 [startPlayingStream] 成功且远端流发送 SEI 后,本端会收到此回调。
- 支持版本:3.9.0 及以上。
- 注意事项:1. 由于视频编码器自身会产生 payload type 为 5 的 SEI,或者使用视频文件推流时,视频文件中也可能存在这样的 SEI,因此若开发者需要过滤掉这类型的 SEI 时,可在 [createEngine] 之前调用 [ZegoEngineConfig.advancedConfig("unregister_sei_filter", "XXXXX")],其中 unregister_sei_filter 为 key,XXXXX 为需要设置的 uuid 过滤字符串。 2.执行 [mutePlayStreamVideo] 或 [muteAllPlayStreamVideo] 设置只拉音频流时,将无法接收媒体次要信息。
onPlayerRecvAudioSideInfo
public void onPlayerRecvAudioSideInfo(String streamID, byte[] data)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| data | byte[] | 音频次要信息内容。 |
详情
调用拉流函数 [startPlayingStream] 成功后,当远端流发送音频次要信息成功后 [sendAudioSideInfo],本端会收到此回调。
- 通知时机:拉流 [startPlayingStream] 成功后,当远端流发送音频次要信息后,本端会收到此回调。
- 相关接口:可通过接口 [sendAudioSideInfo] 发送音频次要信息。
- 支持版本:2.19.0 及以上。
- 注意事项:1. 调用 [mutePlayStreamAudio] 或 [muteAllPlayStreamAudio] 设置只拉视频流时,将无法接收音频次要信息。2. 受网络等因素影响,收到的数据可能会有缺失,但是保证顺序。
onPlayerLowFpsWarning
public void onPlayerLowFpsWarning(ZegoVideoCodecID codecID, String streamID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| codecID | ZegoVideoCodecID | 视频解码器 ID。 |
| streamID | String | 拉流的流 ID。 |
详情
拉流出现低帧率触发的回调。
- 通知时机:拉流出现低帧率会触发本回调。
- 支持版本:2.14.0 及以上。
- 注意事项:如果用户拉 H.265 流触发本回调,可以停拉 H.265 流,转拉 H.264 流。
onPlayerStreamEvent
public void onPlayerStreamEvent(ZegoStreamEvent eventID, String streamID, String extraInfo)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| eventID | ZegoStreamEvent | 拉流事件ID |
| streamID | String | 拉流的流 ID。 |
| extraInfo | String | 附加信息。JSON 格式的字符串。目前包括的信息有 "url"表示地址, "streamProtocol"表示流协议,包括rtmp,flv,avertp,hls,webrtc等, "netProtocol"表示网络协议,包括tcp,udp,quic, "resourceType"表示资源类型,包括cdn,rtc,l3。 |
详情
发起拉流后,这个回调会返回当前使用的拉流地址,资源类型和协议相关信息。
- 通知时机:拉流以及重试拉流的事件。
- 支持版本:2.18.0 及以上。
- 注意事项:无。
onPlayerVideoSuperResolutionUpdate
public void onPlayerVideoSuperResolutionUpdate(String streamID, ZegoSuperResolutionState state, int errorCode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| state | ZegoSuperResolutionState | 超分状态。 |
| errorCode | int | 错误码,详情请参考 常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
详情
拉流视频超分辨率开启状态变化。
- 通知时机:当 [enableVideoSuperResolution] 开启或关闭视频超分后,拉流视频渲染时根据实际情况通知开发者是否开启超分。
- 支持版本:3.0.0 及以上。
- 注意事项:无。
onMixerRelayCDNStateUpdate
public void onMixerRelayCDNStateUpdate(String taskID, ArrayList<ZegoStreamRelayCDNInfo> infoList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| taskID | String | 混流任务 ID。取值范围:长度不超过256。注意事项:该参数为字符串格式,不可以包含 URL 关键字,例如 'http', '?' 等,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。 |
| infoList | ArrayList<ZegoStreamRelayCDNInfo> | 当前 CDN 正在混流的信息列表。 |
详情
在 ZEGO RTC 服务器的混流任务的一般情况会以 RTMP 协议将输出流向 CDN 推送,推送过程中出现的状态的变化会从该回调函数通知出来。
- 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
- 通知时机:开发者调用 [startMixerTask] 函数开始混流后,ZEGO RTC服务器将输出流向CDN推送的时候出现状态变化时。
- 相关回调:可通过 [onMixerSoundLevelUpdate] 获取混流中的每条单流的声浪更新通知。
- 相关接口:可通过 [startMixerTask] 开始混流任务。
- 支持版本:1.2.1 及以上。
- 使用限制:无。
onMixerSoundLevelUpdate
public void onMixerSoundLevelUpdate(HashMap<Integer, Float> soundLevels)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevels | HashMap<Integer, Float> | 混流中每条单流的声浪键值对,key 为每条单流的 soundLevelID,value 为对应的单流的声浪值。取值范围:value 的取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。 |
详情
开发者可根据此回调在观众拉混流的 UI 界面显示哪条流的主播在说话的效果。
- 业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
- 通知时机:开发者调用 [startPlayingStream] 函数开始拉混流后,回调通知周期为 100 ms。
- 相关回调:可通过 [onMixerRelayCDNStateUpdate] 获取混流转推 CDN 状态更新通知。
- 相关接口:可通过 [startMixerTask] 开始混流任务。
- 支持版本:1.2.1 及以上。
- 使用限制:该回调每 100 ms 触发一次,触发频率不支持设置。由于该回调频率高,请勿在该回调中执行耗时任务或者 UI 操作,以免造成卡顿。
onAutoMixerSoundLevelUpdate
public void onAutoMixerSoundLevelUpdate(HashMap<String, Float> soundLevels)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevels | HashMap<String, Float> | 混流中每条单流的声浪键值对,key 为每条单流的 streamID,value 为对应的单流的声浪值,value 的取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。 |
详情
用户可根据此回调获取自动混流时拉取到的每条流的声浪信息,包括 streamID 和声浪值。
- 业务场景:常用于语聊房场景,用户可根据此回调在观众拉混流时显示哪条流的主播在说话。
- 通知时机:调用 [startPlayingStream] 函数拉流后触发。
- 相关接口:可调用 [startAutoMixerTask] 函数,开始自动混流任务。可调用 [stopAutoMixerTask] 函数,停止自动混流任务。
- 支持版本:2.10.0 及以上。
onCapturedSoundLevelUpdate
public void onCapturedSoundLevelUpdate(float soundLevel)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevel | float | 本地采集的声浪值,取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。 |
详情
本地采集音频声浪回调。
- 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后。
- 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onRemoteSoundLevelUpdate] 监控远端拉流音频声浪。
- 支持版本:1.1.0 及以上。
- 注意事项: 1. 回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值,当处于未推流 [startPublishingStream] 且未预览 [startPreview] 状态时,回调数值为默认值 0。 2. 该回调为高频回调,建议不要在回调内部做复杂逻辑处理。
onCapturedSoundLevelInfoUpdate
public void onCapturedSoundLevelInfoUpdate(ZegoSoundLevelInfo soundLevelInfo)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevelInfo | ZegoSoundLevelInfo | 本地采集的声浪值,取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。 |
详情
本地采集音频声浪回调。
- 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后。
- 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onRemoteSoundLevelUpdate] 或 [onRemoteSoundLevelInfoUpdate] 监控远端拉流音频声浪。
- 支持版本:2.10.0 及以上。
- 注意事项: 1. 回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值。 2. 该回调为高频回调,建议不要在回调内部做复杂逻辑处理。
onRemoteSoundLevelUpdate
public void onRemoteSoundLevelUpdate(HashMap<String, Float> soundLevels)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevels | HashMap<String, Float> | 远端的声浪键值对,key 为流 ID,value 为对应的流的声浪值,value 取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。 |
详情
远端拉流音频声浪回调。
- 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后,且处于正在拉流 [startPlayingStream] 的状态。
- 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onCapturedSoundLevelUpdate] 或 [onCapturedSoundLevelInfoUpdate] 监控本地拉流音频声浪。
- 支持版本:1.1.0 及以上。
- 注意事项:回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值。
onRemoteSoundLevelInfoUpdate
public void onRemoteSoundLevelInfoUpdate(HashMap<String, ZegoSoundLevelInfo> soundLevelInfos)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevelInfos | HashMap<String, ZegoSoundLevelInfo> | 远端的声浪键值对,key 为流 ID,value 为对应的流的声浪值,value 取值范围为 0.0 ~ 100.0(该取值仅表示回调的声浪取值范围,不表示精度)。 |
详情
远端拉流音频声浪回调。
- 通知时机:调用 [startSoundLevelMonitor] 函数启动声浪监控器后,且处于正在拉流 [startPlayingStream] 的状态。
- 相关接口:通过 [startSoundLevelMonitor] 启动声浪监控,通过回调 [onCapturedSoundLevelUpdate] 或 [onCapturedSoundLevelInfoUpdate] 监控本地拉流音频声浪。
- 支持版本:2.10.0 及以上。
- 注意事项:回调通知周期为调用 [startSoundLevelMonitor] 时设置的参数值。
onCapturedAudioSpectrumUpdate
public void onCapturedAudioSpectrumUpdate(float[] audioSpectrum)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioSpectrum | float[] | 本地采集的音频频谱值数组,频谱值范围为 [0-2^30]。 |
详情
本地采集音频频谱回调。
- 通知时机:调用 [startAudioSpectrumMonitor] 函数启动声浪监控器后。
- 相关接口:通过 [startAudioSpectrumMonitor] 启动声浪监控,通过回调 [onRemoteAudioSpectrumUpdate] 监控远端拉流音频频谱。
- 支持版本:1.1.0 及以上。
- 注意事项:回调通知周期为调用 [startAudioSpectrumMonitor] 时设置的参数值,当处于未推流 [startPublishingStream] 且未预览 [startPreview] 状态时,回调数值为默认值 0。
onRemoteAudioSpectrumUpdate
public void onRemoteAudioSpectrumUpdate(HashMap<String, float[]> audioSpectrums)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioSpectrums | HashMap<String, float[]> | 远端音频频谱键值对,key 是流 ID,value 为对应的流的音频频谱值数组,频谱值范围为 [0-2^30] |
详情
远端拉流音频频谱回调。
- 通知时机:调用 [startAudioSpectrumMonitor] 函数启动声浪监控器后,且处于正在拉流 [startPlayingStream] 的状态。
- 相关接口:通过 [startAudioSpectrumMonitor] 启动音频频谱监控,通过回调 [onCapturedAudioSpectrumUpdate] 监控本地采集音频频谱。
- 支持版本:1.1.0 及以上。
- 注意事项:回调通知周期为调用 [startAudioSpectrumMonitor] 时设置的参数值。
onLocalDeviceExceptionOccurred
public void onLocalDeviceExceptionOccurred(ZegoDeviceExceptionType exceptionType, ZegoDeviceType deviceType, String deviceID)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| exceptionType | ZegoDeviceExceptionType | 设备异常类型。 |
| deviceType | ZegoDeviceType | 发生异常的设备类型。 |
| deviceID | String | 设备 ID。目前仅支持桌面端设备,用于标识具体的设备;对于移动端设备,此参数将返回空字符串。 |
详情
本地设备异常。
- 通知时机:当本地音频或视频设备功能出现异常时会触发此回调。
- 支持版本:2.15.0 及以上。
onRemoteCameraStateUpdate
public void onRemoteCameraStateUpdate(String streamID, ZegoRemoteDeviceState state)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| state | ZegoRemoteDeviceState | 远端摄像头状态。 |
详情
远端摄像头设备状态通知。
- 业务场景:1v1 教育场景的开发者或者教育小班课场景及相似场景的开发者可以根据此回调来判断远端推流设备的摄像头设备是否正常工作,以及根据相应的 state 初步了解设备出问题的原因。
- 通知时机:远端摄像头设备状态发生变更时,例如开关摄像头等,通过监听此回调,能够获取远端摄像头相关的事件,可以用于提示用户可能导致视频异常的情况。
- 支持版本:1.1.0 及以上。
- 注意事项:当从 CDN 拉流时,或对端使用了自定义视频采集时,不会触发此回调。
onRemoteMicStateUpdate
public void onRemoteMicStateUpdate(String streamID, ZegoRemoteDeviceState state)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| state | ZegoRemoteDeviceState | 远端麦克风状态。 |
详情
远端麦克风设备状态通知。
- 业务场景:1v1 教育场景的开发者或者教育小班课场景及相似场景的开发者可以根据此回调来判断远端推流设备的麦克风设备是否正常工作,以及根据相应的 state 初步了解设备出问题的原因。
- 通知时机:远端麦克风设备状态发生变更时,例如开关麦克风等,通过监听此回调,能够获取远端麦克风相关的事件,可以用于提示用户可能导致音频异常的情况。
- 支持版本:1.1.0 及以上。
- 注意事项:当从 CDN 拉流时,或对端使用了自定义音频采集时(且不是推流到 ZEGO RTC服务器),不会触发此回调。
onRemoteSpeakerStateUpdate
public void onRemoteSpeakerStateUpdate(String streamID, ZegoRemoteDeviceState state)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | String | 拉流的流 ID。 |
| state | ZegoRemoteDeviceState | 远端扬声器状态。 |
详情
远端扬声器设备状态通知。
- 业务场景:1v1 教育场景的开发者或者教育小班课场景及相似场景的开发者可以根据此回调来判断远端推流设备的扬声器设备是否正常工作,以及根据相应的 state 初步了解设备出问题的原因。
- 通知时机:远端扬声器设备状态发生变更时,例如开关扬声器等,通过监听此回调,能够获取远端扬声器相关的事件。
- 支持版本:1.1.0 及以上。
- 注意事项:此回调当从 CDN 拉流时不会回调。
onAudioRouteChange
public void onAudioRouteChange(ZegoAudioRoute audioRoute)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioRoute | ZegoAudioRoute | 当前音频路由。 |
详情
音频设备路由变更通知。
- 通知时机:当有耳机插拔、扬声器和听筒切换等音频路由发生变化时会抛出此回调。
- 平台差异:仅支持 iOS 和 Android。
- 支持版本:1.20.0 及以上。
onAudioVADStateUpdate
public void onAudioVADStateUpdate(ZegoAudioVADStableStateMonitorType type, ZegoAudioVADType state)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| type | ZegoAudioVADStableStateMonitorType | 语音检测器类型 |
| state | ZegoAudioVADType | 语音检测结果 |
详情
检测音频数据的稳态语音状态的回调。 触发时机:调用 [startAudioVADStableStateMonitor] 启动语音状态检测,且处于正在推流的状态或预览预览状态。
- 相关接口:[startAudioVADStableStateMonitor], [stopAudioVADStableStateMonitor]。
- 支持版本:2.14.0 及以上。
- 使用限制:回调通知周期为 3 秒。
onRecvRoomTransparentMessage
public void onRecvRoomTransparentMessage(String roomID, ZegoRoomRecvTransparentMessage message)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 房间 ID。取值范围:最大长度为 128 字节。 |
| message | ZegoRoomRecvTransparentMessage | 收到的消息。 |
详情
该回调用于接收相同房间内其他用户发送的房间透传消息。
- 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有用户通过 [sendTransparentMessage] 函数发送指定客户端接收的消息,则触发此回调。
- 支持版本:3.11.0 及以上。
- 使用限制:无。
- 注意事项:用户自己发送的弹幕消息不会通过此回调得到通知。[sendTransparentMessage] 时指定仅服务端回调,则不会触发此回调。
onIMRecvBroadcastMessage
public void onIMRecvBroadcastMessage(String roomID, ArrayList<ZegoBroadcastMessageInfo> messageList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 房间 ID。取值范围:最大长度为 128 字节。 |
| messageList | ArrayList<ZegoBroadcastMessageInfo> | 收到的消息列表。取值范围:每次最多接收 50 条消息。 |
详情
该回调用于接收相同房间内其他用户发送的广播消息。
- 业务场景:一般在直播房间内使用。
- 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有用户通过 [sendBroadcastMessage] 函数发送广播消息,则触发此回调。
- 相关回调:可通过[onIMRecvBarrageMessage]接收房间弹幕消息,可通过 [onIMRecvCustomCommand] 接收房间自定义信令。
- 支持版本:1.2.1 及以上。
- 使用限制:无。
- 注意事项:用户自己发送的广播消息不会通过此回调得到通知。
onIMRecvBarrageMessage
public void onIMRecvBarrageMessage(String roomID, ArrayList<ZegoBarrageMessageInfo> messageList)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 房间 ID。取值范围:最大长度为 128 字节。 |
| messageList | ArrayList<ZegoBarrageMessageInfo> | 收到的消息列表。取值范围:每次最多接收 50 条消息。 |
详情
该回调用于接收相同房间内其他用户发送的弹幕消息。
- 业务场景:一般用于房间内有大量消息收发,且不需要保证消息可靠性的场景,例如直播弹幕。
- 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有用户通过 [sendBarrageMessage] 函数发送弹幕消息,则触发此回调。
- 相关回调:可通过[onIMRecvBroadcastMessage]接收房间广播消息,可通过 [onIMRecvCustomCommand] 接收房间自定义信令。
- 支持版本:1.5.0 及以上。
- 使用限制:无。
- 注意事项:用户自己发送的弹幕消息不会通过此回调得到通知。在房间内有大量弹幕消息时可能会延迟收到通知,且可能丢失部分弹幕消息。
onIMRecvCustomCommand
public void onIMRecvCustomCommand(String roomID, ZegoUser fromUser, String command)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | String | 房间 ID。取值范围:最大长度为 128 字节。 |
| fromUser | ZegoUser | 信令的发送人。 |
| command | String | 信令内容。取值范围:最大长度为 1024 字节。 |
详情
该回调用于接收相同房间内其他用户发送的自定义信令。
- 业务场景:一般在直播房间内使用。
- 通知时机:调用 [loginRoom] 登录房间之后,如果房间内有其他用户通过 [sendCustomCommand] 函数发送自定义信令给开发者,则触发此回调。
- 相关回调:可通过[onIMRecvBroadcastMessage]接收房间广播消息,可通过 [onIMRecvBarrageMessage] 接收房间弹幕消息。
- 支持版本:1.2.1 及以上。
- 使用限制:无。
- 注意事项:用户自己发送给自己的自定义信令不会通过此回调得到通知。
onPerformanceStatusUpdate
public void onPerformanceStatusUpdate(ZegoPerformanceStatus status)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| status | ZegoPerformanceStatus | 系统性能监控状态。 |
详情
系统性能监控回调。回调周期为调用 [startPerformanceMonitor] 时设置的 millisecond 参数值。
- 业务场景:通过监控系统性能,协助用户快速定位、解决性能问题,提升用户体验。
- 通知时机:需要在 [createEngine] 之后,调用 [startPerformanceMonitor] 启动系统性能监控后才会触发本回调函数。
- 支持版本:1.19.0 及以上。
- 使用限制:无。
onNetworkModeChanged
public void onNetworkModeChanged(ZegoNetworkMode mode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZegoNetworkMode | 当前网络模式。 |
详情
网络模式变更回调。
- 通知时机:当设备的网络模式改变时,例如从 WiFi 切换到 5G,或断网等情况,将会触发本回调。
- 支持版本:1.20.0 及以上。
- 使用限制:无。
onNetworkSpeedTestError
public void onNetworkSpeedTestError(int errorCode, ZegoNetworkSpeedTestType type)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 网络测速错误码。请参考常见错误码文档 https://doc-zh.zego.im/zh/4378.html |
| type | ZegoNetworkSpeedTestType | 上行或下行网络。 |
详情
网络测速异常回调。
- 业务场景:用于检测当前网络环境是否适合推/拉指定码率的流。
- 通知时机:网络测试过程中发生异常时,例如:连接测速服务器失败等,将触发本回调。
- 支持版本:1.20.0 及以上。
- 使用限制:无。
onNetworkSpeedTestQualityUpdate
public void onNetworkSpeedTestQualityUpdate(ZegoNetworkSpeedTestQuality quality, ZegoNetworkSpeedTestType type)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| quality | ZegoNetworkSpeedTestQuality | 网速测速质量. |
| type | ZegoNetworkSpeedTestType | 上行或下行网络。 |
详情
网络连通状态下的网络测速质量回调。
- 业务场景:用于检测当前网络环境是否适合推/拉指定码率的流。
- 通知时机:调用 [startNetworkSpeedTest] 启动网络测速后,将触发本回调。回调通知周期为调用 [startNetworkSpeedTest] 时设置的参数值,未设置该参数时,默认 3 秒回调一次。
- 支持版本:1.20.0 及以上。
- 使用限制:无。
- 注意事项:当测速发生异常或停止测速时,本回调将会不再触发。
onNetworkQuality
public void onNetworkQuality(String userID, ZegoStreamQualityLevel upstreamQuality, ZegoStreamQualityLevel downstreamQuality)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | String | 用户 ID,空表示本地用户 |
| upstreamQuality | ZegoStreamQualityLevel | 上行网络质量 |
| downstreamQuality | ZegoStreamQualityLevel | 下行网络质量 |
详情
本地和远端用户的上下行网络回调,默认每两秒回调一次本地和每个拉取的远端用户的网络状况。 2.10.0 至 2.13.1 版本: 1. 自身必须既推流又拉流,才会收到自身的网络质量回调。 2. 当拉一条流时,推流端有拉流且推流端在自己所在房间内,才会收到该用户的网络质量。 2.14.0 至 2.21.1 版本:
- 自身只要推流或拉流,就会收到自身的网络质量回调。 2. 当拉一条流时,推流端在自己所在房间内,就会收到该用户的网络质量。 2.22.0 及以上版本:
- 自身只要推流或拉流,就会收到自身的网络质量回调。 2. 当拉一条流时,推流端在自己所在房间内,就会收到该用户的网络质量。
- 预估远端推流用户的网络情况,如果远端推流用户心跳丢失 1 次,回调其网络质量为 unknown;如果远端推流用户心跳丢失达到 3 次,回调其网络质量为 die。
- 业务场景:当开发者希望分析链路上的网络情况,或想要了解本地和远端用户的网络状况。
- 通知时机:调用 [startPublishingStream] 推流或 [startPlayingStream] 拉流后触发。
- 支持版本:2.10.0 及以上。
onRtcStats
public void onRtcStats(ZegoRtcStatsInfo info)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| info | ZegoRtcStatsInfo | 统计信息. |
详情
RTC 网络统计信息回调。
- 业务场景:当开发者希望分析本端的网络情况。
- 通知时机:调用 [startPublishingStream] 开始推 RTC 流后,会回调上行统计信息,调用 [startPlayingStream] 开始拉 RTC 或 L3 流后,会回调下行统计信息。默认回调周期为 3 秒。
- 支持版本:3.20.0 及以上。
- 使用限制:无。
- 注意事项:无。
onNetworkTimeSynchronized
public void onNetworkTimeSynchronized()callback/IZegoEventHandler.java- 支持版本:2.12.0 及以上。 当开发者调用 [createEngine] 后,内部完成网络时间同步时会触发此回调。
onRequestDumpData
public void onRequestDumpData()callback/IZegoEventHandler.java- 通知时机:当客户反馈问题后,ZEGO 希望用户转储数据用于分析音视频处理问题时会触发此回调。
- 支持版本:3.10.0 及以上。
onRequestUploadDumpData
public void onRequestUploadDumpData(String dumpDir, boolean takePhoto)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| dumpDir | String | 转储数据路径 |
| takePhoto | boolean | 在上传转储文件时是否需要拍照 |
- 通知时机:当客户反馈问题后,ZEGO 希望用户转储数据用于分析音视频处理问题时会触发此回调。
- 支持版本:3.11.0 及以上。
onStartDumpData
public void onStartDumpData(int errorCode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 错误码 |
- 通知时机:当调用 [startDumpData] 后会触发此回调。
- 支持版本:3.10.0 及以上。
onStopDumpData
public void onStopDumpData(int errorCode, String dumpDir)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 错误码 |
| dumpDir | String | 转储数据路径 |
- 通知时机:当调用 [stopDumpData] 后会触发此回调。
- 支持版本:3.10.0 及以上。
onUploadDumpData
public void onUploadDumpData(int errorCode)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | int | 错误码 |
- 通知时机:当调用 [uploadDumpData] 后,SDK 执行上传任务后会触发此回调。
- 支持版本:3.10.0 及以上。
onScreenCaptureExceptionOccurred
public void onScreenCaptureExceptionOccurred(ZegoScreenCaptureExceptionType exceptionType)callback/IZegoEventHandler.java参数
| 名称 | 类型 | 描述 |
|---|---|---|
| exceptionType | ZegoScreenCaptureExceptionType | 采集源异常类型。 |
详情
移动端屏幕采集错误通知。
- 通知时机:移动端屏幕开始采集后产生异常会触发此回调。
- 支持版本:3.6.0 及以上。
- 使用限制:仅对 Android 和 iOS 系统生效。
- 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。
onScreenCaptureStart
public void onScreenCaptureStart()callback/IZegoEventHandler.java移动端屏幕采集开始通知。
- 通知时机:调用 [startScreenCapture] 后,成功开始屏幕采集会触发此回调,失败会触发 [onScreenCaptureExceptionOccurred]。
- 支持版本:3.16.0 及以上。
- 使用限制:仅对 Android 和 iOS 系统生效。
- 注意事项:调用接口 [setEventHandler] 设置后该回调才生效。
