public abstract class com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler
自定义编码帧回调类
| 返回 | 名称 |
|---|---|
| abstract void | OnStart |
| abstract void | OnStop |
| abstract void | OnRateUpdate |
| abstract void | OnRequestKeyFrame |
public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnStart(
StreamIndex index)
提示自定义编码帧可以开始推送的回调。
收到该回调后,你即可调用 pushExternalEncodedVideoFrame 向 SDK 推送自定义编码视频帧
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 可以推送的编码流的属性,参看 StreamIndex |
public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnStop(
StreamIndex index)
当收到该回调时,你需停止向 SDK 推送自定义编码视频帧
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 需停止推送的编码流的属性,参看 StreamIndex |
public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnRateUpdate(
StreamIndex stream_index,
int video_index,
int fps,
int bitrateKbps)
当自定义编码流的帧率或码率发生变化时,触发该回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream_index | StreamIndex | 发生变化的编码流的属性,参看 StreamIndex |
| video_index | int | 对应编码流的下标 |
| fps | int | 变化后的帧率,单位:fps |
| bitrateKbps | int | 变化后的码率,单位:kbps |
public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnRequestKeyFrame(
StreamIndex stream_index,
int video_index)
提示流发布端需重新生成关键帧的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream_index | StreamIndex | 远端编码流的属性,参看 StreamIndex |
| video_index | int | 对应编码流的下标 |
public abstract class com.ss.bytertc.engine.handler.IRTCEngineEventHandler
音视频引擎事件回调接口
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onJoinRoomResult(
String roomId,
String uid,
int errorCode,
int joinType,
int elapsed)
首次加入房间/重连加入房间的回调。此回调表示调用 joinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID。 |
| uid | String | 用户 ID。 |
| errorCode | int | 用户加入房间回调的状态码。 • 0: 加入房间成功; • 非 0: 加入房间失败,具体原因参看 ErrorCode 以及 WarningCode。 |
| joinType | int | 用户加入房间的类型。 • 0: 首次加入房间。用户手动调用 joinRoom,收到加入成功。 • 1: 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。 |
| elapsed | int | 保留字段,无意义。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onWarning(
int warn)
发生警告回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | int | 警告代码,参见 WarningCode |
注意 SDK 运行时出现了(网络或媒体相关的)警告。SDK 通常会自动恢复,警告信息可以忽略。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onError(
int err)
发生错误回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | int | 错误代码,详情定义见: ErrorCode |
注意 SDK 运行时出现了(网络或媒体相关的)错误。SDK 通常无法自动恢复,你可能需要干预。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLeaveRoom(
RTCRoomStats stats)
离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | RTCRoomStats | 本次通话的统计数据。详见 RTCRoomStats。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomStats(
RTCRoomStats stats)
房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | RTCRoomStats | 当前 RtcEngine 统计数据,详见 RTCRoomStats |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSysStats(
SysStats stats)
每2秒发生回调,通知当前cpu,内存使用的信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | SysStats | cpu,内存信息。详见 SysStats 数据类型。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkTypeChanged(
int type)
SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | int | 网络类型。 • -1: 网络连接类型未知。 • 0: 网络连接已断开。 • 1: 网络类型为 LAN 。 • 2: 网络类型为 Wi-Fi(包含热点)。 • 3: 网络类型为 2G 移动网络。 • 4: 网络类型为 3G 移动网络。 • 5: 网络类型为 4G 移动网络。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserJoined(
UserInfo userInfo,
int elapsed)
远端可见用户加入房间,或房内不可见用户切换为可见的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userInfo | UserInfo | 用户信息,参看 UserInfo。 |
| elapsed | int | 保留字段,无意义。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserLeave(
String uid,
int reason)
发生以下情形时,本地用户会收到此事件:
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 离开房间,或切至不可见的的远端用户 ID。 |
| reason | int | 用户离开房间的原因: • 0: 远端用户调用 leaveRoom 主动退出房间。 • 1: 远端用户因网络等原因掉线。 • 2: 远端用户切换至不可见状态。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserPublishStream(
String uid,
RTCEngine.MediaStreamType type)
房间内新增远端摄像头/麦克风采集的媒体流的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 远端媒体流的类型,参看 MediaStreamType。 |
注意 当房间内的远端用户调用 publishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStream 订阅此流。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserUnPublishStream(
String uid,
RTCEngine.MediaStreamType type,
StreamRemoveReason reason)
房间内远端摄像头/麦克风采集的媒体流移除的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 移除的远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 移除的远端流类型,参看 MediaStreamType。 |
| reason | StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
注意 收到该回调通知后,你可以自行选择是否调用 unsubscribeStream 取消订阅此流。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserPublishScreen(
String uid,
RTCEngine.MediaStreamType type)
房间内新增远端屏幕共享音视频流的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 远端媒体流的类型,参看 MediaStreamType。 |
注意 当房间内的远端用户调用 publishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeScreen 订阅此流。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserUnPublishScreen(
String uid,
RTCEngine.MediaStreamType type,
StreamRemoveReason reason)
房间内远端屏幕共享音视频流移除的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 移除的远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 移除的远端流类型,参看 MediaStreamType。 |
| reason | StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
注意 收到该回调通知后,你可以自行选择是否调用 unsubscribeScreen 取消订阅此流。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStartVideoCapture(
String uid)
房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 开启视频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStopVideoCapture(
String uid)
房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 关闭视频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStartAudioCapture(
String uid)
房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 开启音频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStopAudioCapture(
String uid)
房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 关闭音频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSimulcastSubscribeFallback(
RemoteStreamSwitch event)
因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| event | RemoteStreamSwitch | 流切换信息。详见 RemoteStreamSwitch。 |
注意 必须先通过 API 或控制台设置音视频流订阅回退功能时,你才能收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalStreamStats(
LocalStreamStats stats)
发布流成功后,每隔 2s 收到此回调,了解发布的流在此周期内的网络质量信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | LocalStreamStats | 音视频流以及网络状况统计信息。参见 LocalStreamStats。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteStreamStats(
RemoteStreamStats stats)
每隔 2s 收到此回调,了解订阅的远端用户发布的流在此周期内的网络质量信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | RemoteStreamStats | 音视频流以及网络状况统计信息。参见 RemoteStreamStats。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalAudioStateChanged(
LocalAudioStreamState state,
LocalAudioStreamError error)
本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | LocalAudioStreamState | 本地音频设备的状态,详见 LocalAudioStreamState |
| error | LocalAudioStreamError | 本地音频流状态改变时的错误码,详见 LocalAudioStreamError |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteAudioStateChanged(
RemoteStreamKey key,
RemoteAudioState state,
RemoteAudioStateChangeReason reason)
用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息, 详见 RemoteStreamKey |
| state | RemoteAudioState | 远端音频流状态,详见 RemoteAudioState |
| reason | RemoteAudioStateChangeReason | 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalVideoStateChanged(
StreamIndex streamIndex,
LocalVideoStreamState state,
LocalVideoStreamError error)
本地视频流的状态发生改变时,收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| state | LocalVideoStreamState | 本地视频流状态,参看 LocalVideoStreamState |
| error | LocalVideoStreamError | 本地视频状态改变时的错误码,参看 LocalVideoStreamError |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteVideoStateChanged(
RemoteStreamKey streamKey,
RemoteVideoState videoState,
RemoteVideoStateChangeReason videoStateReason)
远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamKey | RemoteStreamKey | 远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey |
| videoState | RemoteVideoState | 远端视频流状态,参看 RemoteVideoState |
| videoStateReason | RemoteVideoStateChangeReason | 远端视频流状态改变原因,参看 RemoteVideoStateChangeReason |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteVideoFrameRendered(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
SDK 内部渲染成功远端视频流首帧后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteVideoFrameDecoded(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
SDK 接收并解码远端视频流首帧后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstLocalVideoFrameCaptured(
StreamIndex streamIndex,
VideoFrameInfo frameInfo)
RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频信息,参看 VideoFrameInfo |
注意 对于采集到的本地视频帧,你可以调用 setLocalVideoCanvas 或 setLocalVideoSink 在本地渲染。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalVideoSizeChanged(
StreamIndex streamIndex,
VideoFrameInfo frameInfo)
本地视频大小或旋转信息发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteVideoSizeChanged(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onConnectionStateChanged(
int state,
int reason)
回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState |
| reason | int | 引起信令服务器连接状态发生改变的原因,目前未启用固定为 -1 。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioPlaybackDeviceChanged(
AudioPlaybackDevice device)
音频播放设备变化时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| device | AudioPlaybackDevice | 新的音频设备,详见 AudioPlaybackDevice |
注意 音频设备设置与音频路由策略,详见 setAudioPlaybackDevice
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstLocalAudioFrame(
StreamIndex streamIndex)
本地采集到第一帧音频帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 音频流属性, 详见 StreamIndex |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteAudioFrame(
RemoteStreamKey remoteStreamKey)
接收到来自远端某音频流的第一帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端音频流信息, 详见 RemoteStreamKey |
注意 用户刚收到房间内订阅的每一路音频流时,都会收到该回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onStreamSubscribed(
SubscribeState stateCode,
String userId,
SubscribeConfig info)
关于订阅媒体流状态改变的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stateCode | SubscribeState | 订阅媒体流状态,参看 SubscribeState |
| userId | String | 流发布用户的用户 ID |
| info | SubscribeConfig | 流的属性,参看 SubscribeConfig |
注意 本地用户收到该回调的时机包括: + 调用 subscribeStream 或 unsubscribeStream 订阅/取消订阅指定远端摄像头音视频流后;
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLogReport(
String logType,
JSONObject logContent)
上报日志时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| logType | String | 日志类型。 |
| logContent | JSONObject | 日志内容。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomMessageReceived(
String uid,
String message)
接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | String | 收到的消息内容 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomBinaryMessageReceived(
String uid,
ByteBuffer message)
接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | ByteBuffer | 收到的二进制消息内容 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageReceived(
String uid,
String message)
收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者的用户 ID 。 |
| message | String | 收到的文本消息内容。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserBinaryMessageReceived(
String uid,
ByteBuffer message)
收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者的用户 ID 。 |
| message | ByteBuffer | 收到的二进制消息内容。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageSendResult(
long msgid,
int error)
向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID。 |
| error | int | 文本或二进制消息发送结果,详见 UserMessageSendResult |
注意 调用 sendUserMessage 或 sendUserBinaryMessage 接口,才能收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomMessageSendResult(
long msgid,
int error)
向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID。 |
| error | int | 消息发送结果,详见 UserMessageSendResult |
注意 调用 sendRoomMessage 或 sendRoomBinaryMessage 接口,才能收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSEIMessageReceived(
RemoteStreamKey remoteStreamKey,
ByteBuffer message)
收到通过调用 sendSEIMessage 发送带有 SEI 消息的视频帧时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey |
| message | ByteBuffer | 收到的 SEI 消息内容 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLoginResult(
String uid,
int error_code,
int elapsed)
登录结果回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 登录用户 ID |
| error_code | int | 登录结果 详见 LoginErrorCode。 |
| elapsed | int | 从调用 login 接口开始到返回结果所用时长。 单位为 ms。 |
注意 调用 login 后,会收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLogout()
登出结果回调
注意 调用 logout 后,会收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onServerParamsSetResult(
int error)
设置业务服务器参数的返回结果
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| error | int | 设置结果 • 返回 200,设置成功 • 返回其他,设置失败 |
注意 调用 setServerParams 后,会收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onGetPeerOnlineStatus(
String peerUserId,
int status)
查询对端或本端用户登录状态的返回结果
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| peerUserId | String | 需要查询的用户 ID |
| status | int | 查询的用户登录状态 详见 USER_ONLINE_STATUS. |
注意 必须先调用 getPeerOnlineStatus,才能收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageReceivedOutsideRoom(
String uid,
String message)
收到房间外用户调用 sendUserMessageOutsideRoom 发来的文本消息时,会收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | String | 收到的文本消息内容 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserBinaryMessageReceivedOutsideRoom(
String uid,
ByteBuffer message)
收到房间外用户调用 sendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | ByteBuffer | 收到的二进制消息内容 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageSendResultOutsideRoom(
long msgid,
int error)
给房间外指定的用户发送消息的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID 所有的 P2P 和 P2Server 消息共用一个 ID 序列。 |
| error | int | 消息发送结果 详见 UserMessageSendResult。 |
注意 当调用 sendUserMessageOutsideRoom 或 sendUserBinaryMessageOutsideRoom 发送消息后,会收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onServerMessageSendResult(
long msgid,
int error)
给业务服务器发送消息的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID 所有的 P2P 和 P2Server 消息共用一个 ID 序列。 |
| error | int | 消息发送结果 详见 UserMessageSendResult。 |
注意 当调用 sendServerMessage 或 sendServerBinaryMessage 接口发送消息后,会收到此回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkDetectionResult(
NetworkDetectionLinkType type,
int quality,
int rtt,
double lost_rate,
int bitrate,
int jitter)
通话前网络探测结果 成功调用 startNetworkDetection 接口开始探测后,会每 2s 收到一次此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | NetworkDetectionLinkType | 探测网络类型为上行/下行 |
| quality | int | 探测网络的质量,值含义参考 NetworkQuality |
| rtt | int | 探测网络的 RTT,单位:ms |
| lost_rate | double | 探测网络的丢包率 |
| bitrate | int | 探测网络的带宽,单位:kbps |
| jitter | int | 探测网络的抖动,单位:ms |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkDetectionStopped(
NetworkDetectionStopReason reason)
通话前网络探测结束
以下情况将停止探测并收到本一次本回调:
1. 当调用 stopNetworkDetection 接口停止探测后,会收到一次该回调;
2. 当收到远端/本端音频首帧后,停止探测;
3. 当探测超过3分钟后,停止探测;
4. 当探测链路断开一定时间之后,停止探测。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| reason | NetworkDetectionStopReason | 停止探测的原因类型,参考 NetworkDetectionStopReason |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onPerformanceAlarms(
PerformanceAlarmMode mode,
String roomId,
PerformanceAlarmReason reason,
SourceWantedData data)
本地未开启发布性能回退,检测到设备性能不足时,收到此回调。
本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | PerformanceAlarmMode | 指示本地是否开启发布回退功能。参看 PerformanceAlarmMode • 当发布端未开启发布性能回退时,mode 值为 PERFORMANCE_ALARM_MODE_NORMAL。 • 当发布端开启发布性能回退时,mode 值为 PERFORMANCE_ALARM_MODE_SIMULCAST。 |
| roomId | String | • 未开启发布性能回退时,roomId 为空 • 开启发布性能回退时,roomId 是告警影响的房间 ID。 |
| reason | PerformanceAlarmReason | 告警原因,参看 PerformanceAlarmReason |
| data | SourceWantedData | 性能回退相关数据,详见 SourceWantedData。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioFrameSendStateChanged(
RtcUser user,
FirstFrameSendState state)
本地音频首帧发送状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoFrameSendStateChanged(
RtcUser user,
FirstFrameSendState state)
本地视频首帧发送状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onScreenVideoFrameSendStateChanged(
RtcUser user,
FirstFrameSendState state)
屏幕共享流的视频首帧发送状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioFramePlayStateChanged(
RtcUser user,
FirstFramePlayState state)
音频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoFramePlayStateChanged(
RtcUser user,
FirstFramePlayState state)
视频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onScreenVideoFramePlayStateChanged(
RtcUser user,
FirstFramePlayState state)
屏幕共享流视频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onMediaDeviceStateChanged(
String device_id,
int device_type,
int device_state,
int device_error)
媒体设备状态回调。提示音频采集、音频播放、摄像头视频采集、屏幕视频采集四种媒体设备的状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| device_id | String | 设备 ID |
| device_type | int | 设备类型,详见 MediaDeviceType。 |
| device_state | int | 设备状态,详见 MediaDeviceState。 |
| device_error | int | 设备错误类型,详见 MediaDeviceError。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onMediaDeviceWarning(
String device_id,
int device_type,
int device_warning)
媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| device_id | String | 设备 ID |
| device_type | int | 参看 MediaDeviceType |
| device_warning | int | 参看 MediaDeviceWarning |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onHttpProxyState(
int state)
HTTP 代理连接状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 HTTP 代理连接状态 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onHttpsProxyState(
int state)
HTTPS 代理连接状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 HTTPS 代理连接状态 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSocks5ProxyState(
int state,
String cmd,
String proxy_address,
String local_address,
String remote_address)
SOCKS5 代理状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | SOCKS5 代理连接状态 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRecordingStateUpdate(
StreamIndex type,
RecordingState state,
RecordingErrorCode errorCode,
RecordingInfo info)
获取本地录制状态回调。
该回调由 startFileRecording 或 stopFileRecording 触发。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | StreamIndex | 录制流的流属性,参看 StreamIndex |
| state | RecordingState | 录制状态,参看 RecordingState |
| errorCode | RecordingErrorCode | 录制错误码,参看 RecordingErrorCode |
| info | RecordingInfo | 录制文件的详细信息,参看 RecordingInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRecordingProgressUpdate(
StreamIndex type,
RecordingProgress progress,
RecordingInfo info)
本地录制进度回调。
该回调由 startFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | StreamIndex | 录制流的流属性,参看 StreamIndex |
| progress | RecordingProgress | 录制进度,参看 RecordingProgress |
| info | RecordingInfo | 录制文件的详细信息,参看 RecordingInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioMixingStateChanged(
int mixId,
AudioMixingState state,
AudioMixingError error)
音频混音文件播放状态改变时回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mixId | int | 混音 ID 使用 IAudioMixingManager 相关接口时传入的唯一 ID。 |
| state | AudioMixingState | 混音状态 其混音状态可参考:AudioMixingState。 |
| error | AudioMixingError | 错误码 详见 AudioMixingError。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioMixingPlayingProgress(
int mixId,
long progress)
混音音频文件播放进度回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mixId | int | 混音 ID |
| progress | long | 当前混音音频文件播放进度,单位毫秒 |
注意 调用 setAudioMixingProgressInterval 将时间间隔设为大于 0 的值后,或调用 startAudioMixing 将 AudioMixingConfig 中的时间间隔设为大于 0 的值后,SDK 会按照设置的时间间隔回调该事件。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoStreamBanned(
String uid,
boolean banned)
通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 被禁用/解禁的视频流用户 ID |
| banned | boolean | 视频流发送状态 • true: 视频流发送被禁用 • false: 视频流发送被解禁 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioStreamBanned(
String uid,
boolean banned)
通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 被禁用/解禁的音频流用户 ID |
| banned | boolean | 音频流发送状态 • true: 音频流发送被禁用 • false: 音频流发送被解禁 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalAudioPropertiesReport(
LocalAudioPropertiesInfo[] audioPropertiesInfos)
调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioPropertiesInfos | LocalAudioPropertiesInfo[] | 本地音频信息,详见 LocalAudioPropertiesInfo 。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteAudioPropertiesReport(
RemoteAudioPropertiesInfo[] audioPropertiesInfos,
int totalRemoteVolume)
远端用户进房后,本地调用 enableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioPropertiesInfos | RemoteAudioPropertiesInfo[] | 远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。 |
| totalRemoteVolume | int | 订阅的所有远端流的总音量。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onActiveSpeaker(
String roomId,
String uid)
调用 enableAudioPropertiesReport 后,根据设置的 AudioPropertiesConfig.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| uid | String | 最活跃用户(ActiveSpeaker)的用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onStreamSyncInfoReceived(
RemoteStreamKey streamKey,
StreamSycnInfoConfig.SyncInfoStreamType streamType,
ByteBuffer data)
音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamKey | RemoteStreamKey | 远端流信息,详见 RemoteStreamKey 。 |
| streamType | StreamSycnInfoConfig.SyncInfoStreamType | 媒体流类型,详见 SyncInfoStreamType 。 |
| data | ByteBuffer | 消息内容。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onForwardStreamStateChanged(
ForwardStreamStateInfo[] stateInfos)
跨房间媒体流转发状态和错误回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stateInfos | ForwardStreamStateInfo[] | 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onForwardStreamEvent(
ForwardStreamEventInfo[] eventInfos)
跨房间媒体流转发事件回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventInfos | ForwardStreamEventInfo[] | 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkQuality(
NetworkQualityStats localQuality,
NetworkQualityStats[] remoteQualities)
加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| localQuality | NetworkQualityStats | 本地网络质量,详见 NetworkQualityStats。 |
| remoteQualities | NetworkQualityStats[] | 已订阅用户的网络质量,详见 NetworkQualityStats。 |
注意 更多通话中的监测接口,详见通话中质量监测
public interface com.ss.bytertc.engine.handler.IRTCEncryptionHandler
加密事件回调接口
| 返回 | 名称 |
|---|---|
| byte[] | onEncryptData |
| byte[] | onDecryptData |
public byte[] com.ss.bytertc.engine.handler.IRTCEncryptionHandler.onEncryptData(
byte[] data)
自定义加密
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| data | byte[] | 未加密的数据。 |
返回值 加密后的数据
public byte[] com.ss.bytertc.engine.handler.IRTCEncryptionHandler.onDecryptData(
byte[] data)
自定义解密
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| data | byte[] | 加密过的数据。 |
返回值 解密后的数据
public interface com.ss.bytertc.engine.live.ILiveTranscodingObserver
转推直播观察者。
| 返回 | 名称 |
|---|---|
| boolean | isSupportClientPushStream |
| void | onStreamMixingEvent |
| void | onMixingAudioFrame |
| void | onMixingVideoFrame |
| void | onDataFrame |
boolean com.ss.bytertc.engine.live.ILiveTranscodingObserver.isSupportClientPushStream()
是否具有推流能力。
注意
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onStreamMixingEvent(
ByteRTCStreamMixingEvent eventType,
String taskId,
int error,
ByteRTCStreamMixingType mixType)
转推直播状态回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventType | ByteRTCStreamMixingEvent | 转推直播任务状态, 参看 ByteRTCStreamMixingEvent 。 |
| taskId | String | 转推直播任务 ID |
| error | int | 转推直播错误码,参看 TranscodingError。 |
| mixType | ByteRTCStreamMixingType | 转推直播类型,参看 ByteRTCStreamMixingType。 |
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onMixingAudioFrame(
String taskId,
byte[] audioFrame,
int frameNum)
端云一体合流音频 PCM 回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| taskId | String | 转推直播任务 ID |
| audioFrame | byte[] | PCM 编码的合流音频数据帧 |
| frameNum | int | PCM 编码的音频数据帧数 |
注意 收到该回调的周期为每 10 毫秒一次,并且每次的音频数据量为 10 毫秒数据量。
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onMixingVideoFrame(
String taskId,
VideoFrame VideoFrame)
端云一体合流视频 YUV 回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| taskId | String | 转推直播任务 ID |
| VideoFrame | **** | YUV 合流视频数据帧,参看 VideoFrame |
注意 收到该回调的周期与视频的帧间隔一致。
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onDataFrame(
String taskId,
byte[] dataFrame,
long time)
端云一体合流视频 SEI 数据回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| taskId | String | 转推直播任务 ID |
| dataFrame | byte[] | SEI 数据 |
| time | long | 时间信息 |
public interface com.ss.bytertc.engine.video.IFaceDetectionObserver
人脸检测结果回调观察者
| 返回 | 名称 |
|---|---|
| void | onFaceDetectResult |
public void com.ss.bytertc.engine.video.IFaceDetectionObserver.onFaceDetectResult(
FaceDetectionResult result)
CV SDK 进行人脸检测结果的回调。
调用 registerFaceDetectionObserver 注册了 IFaceDetectionObserver,并使用 RTC SDK 中包含的 CV SDK 进行视频特效处理时,你会收到此回调。
public interface com.ss.bytertc.engine.mediaio.ILocalEncodedVideoFrameObserver
本地视频帧监测器
| 返回 | 名称 |
|---|---|
| void | onLocalEncodedVideoFrame |
void com.ss.bytertc.engine.mediaio.ILocalEncodedVideoFrameObserver.onLocalEncodedVideoFrame(
StreamIndex streamIndex,
RTCEncodedVideoFrame encodedVideoFrame)
调用 registerLocalEncodedVideoFrameObserver 后,SDK 每次使用内部采集,采集到一帧视频帧,或收到一帧外部视频帧时,都会回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 本地视频帧类型,参看 StreamIndex |
| encodedVideoFrame | RTCEncodedVideoFrame | 本地视频帧信息,参看 RTCEncodedVideoFrame |
public abstract class com.ss.bytertc.engine.mediaio.IRemoteEncodedVideoFrameObserver
远端编码后视频数据监测器
| 返回 | 名称 |
|---|---|
| abstract void | OnRemoteEncodedVideoFrame |
public abstract void com.ss.bytertc.engine.mediaio.IRemoteEncodedVideoFrameObserver.OnRemoteEncodedVideoFrame(
RemoteStreamKey stream_info,
RTCEncodedVideoFrame video_stream)
调用 registerRemoteEncodedVideoFrameObserver 后,SDK 监测到远端编码后视频数据时,触发该回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream_info | RemoteStreamKey | 收到的远端流信息,参看 RemoteStreamKey |
| video_stream | RTCEncodedVideoFrame | 收到的远端视频帧信息,参看 RTCEncodedVideoFrame |
public interface com.ss.bytertc.engine.IAudioFrameObserver
音频数据回调观察者
| 返回 | 名称 |
|---|---|
| void | onRecordAudioFrame |
| void | onPlaybackAudioFrame |
| void | onMixedAudioFrame |
void com.ss.bytertc.engine.IAudioFrameObserver.onRecordAudioFrame(
AudioFrame audioFrame)
返回麦克风录制的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 麦克风录制的音频数据, 详见:AudioFrame |
void com.ss.bytertc.engine.IAudioFrameObserver.onPlaybackAudioFrame(
AudioFrame audioFrame)
返回订阅的所有远端用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 远端所有用户混音后的音频数据, 详见:AudioFrame |
void com.ss.bytertc.engine.IAudioFrameObserver.onMixedAudioFrame(
AudioFrame audioFrame)
返回本地麦克风录制和订阅的所有远端用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 本地麦克风录制和远端所有用户混音后的音频数据, 详见:AudioFrame |
public abstract class com.ss.bytertc.engine.handler.IRTCRoomEventHandler
房间事件回调接口
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLeaveRoom(
IRTCEngineEventHandler.RTCRoomStats stats)
离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | IRTCEngineEventHandler.RTCRoomStats | 本次通话的统计数据。详见 RTCRoomStats。 |
注意
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onJoinRoomResult(
String roomId,
String uid,
int errorCode,
int joinType,
int elapsed)
首次加入房间/重连加入房间的回调。此回调表示调用 joinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID。 |
| uid | String | 用户 ID。 |
| errorCode | int | 用户加入房间回调的状态码。 0 为加入房间成功;非 0 为加入房间失败。 具体参看 ErrorCode 以及 WarningCode。 |
| joinType | int | 用户加入房间的类型。 • 0: 首次加入房间。用户手动调用 joinRoom,收到加入成功回调。 • 1: 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功回调。 |
| elapsed | int | 重连耗时。本地用户从连接断开到重连成功所经历的时间间隔,单位为 ms。 |
返回值
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomWarning(
int warn)
发生警告回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | int | 警告代码,参见 WarningCode |
注意 SDK 运行时出现了(网络或媒体相关的)警告。SDK 通常会自动恢复,警告信息可以忽略。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomError(
int err)
发生错误回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | int | 错误代码,详情定义见: ErrorCode |
注意 SDK 运行时出现了(网络或媒体相关的)错误。SDK 通常无法自动恢复,你可能需要干预。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRtcStats(
IRTCEngineEventHandler.RTCRoomStats stats)
房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | IRTCEngineEventHandler.RTCRoomStats | 房间内的汇总统计数据。详见 RTCRoomStats。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserJoined(
UserInfo userInfo,
int elapsed)
可见用户加入房间,或房内隐身用户切换为可见的回调。
1.远端可见用户调用 setUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2.远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.房间内隐身远端用户调用 setUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的主播角色用户的进房回调通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userInfo | UserInfo | 用户信息。参看 UserInfo。 |
| elapsed | int | 主播角色用户调用 joinRoom 加入房间到房间内其他用户收到该事件经历的时间,单位为 ms。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserLeave(
String uid,
int reason)
远端见用户离开房间,或从可见切换为隐身的回调。
发生以下情形时,房间内其他用户会收到此事件:
1. 远端可见用户调用 leaveRoom 方法离开房间时。
2. 远端可见用户调用 setUserVisibility 方法切换至隐身时。
3. 远端主播角色用户断网,且一直未恢复。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 离开房间,或切至隐身的的远端用户 ID。 |
| reason | int | 用户离开房间的原因: • 0: 远端用户调用 leaveRoom 主动退出房间。 • 1: 远端用户因网络等原因掉线。 • 2: 远端用户切换至不可见状态。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserPublishStream(
String uid,
RTCEngine.MediaStreamType type)
房间内新增远端摄像头/麦克风采集音视频流的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 远端媒体流的类型,参看 MediaStreamType。 |
注意 当房间内的远端用户调用 publishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStream 订阅此流。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserUnPublishStream(
String uid,
RTCEngine.MediaStreamType type,
IRTCEngineEventHandler.StreamRemoveReason reason)
房间内远端摄像头/麦克风采集的媒体流移除的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 移除的远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 移除的远端流类型,参看 MediaStreamType。 |
| reason | IRTCEngineEventHandler.StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
注意 收到该回调通知后,你可以自行选择是否调用 unsubscribeStream 取消订阅此流。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserPublishScreen(
String uid,
RTCEngine.MediaStreamType type)
房间内新增远端屏幕共享音视频流的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 远端媒体流的类型,参看 MediaStreamType。 |
注意 当房间内的远端用户调用 publishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeScreen 订阅此流。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserUnPublishScreen(
String uid,
RTCEngine.MediaStreamType type,
IRTCEngineEventHandler.StreamRemoveReason reason)
房间内远端屏幕共享音视频流移除的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 移除的远端流发布用户的用户 ID。 |
| type | RTCEngine.MediaStreamType | 移除的远端流类型,参看 MediaStreamType。 |
| reason | IRTCEngineEventHandler.StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
注意 收到该回调通知后,你可以自行选择是否调用 unsubscribeScreen 取消订阅此流。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalStreamStats(
IRTCEngineEventHandler.LocalStreamStats stats)
反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调。
本地用户发布音视频流成功后,每隔 2s 收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | IRTCEngineEventHandler.LocalStreamStats | 音视频流以及网络状况统计信息。参见 LocalStreamStats。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteStreamStats(
IRTCEngineEventHandler.RemoteStreamStats stats)
反映通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况的回调。每隔 2s 收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | IRTCEngineEventHandler.RemoteStreamStats | 音视频流以及网络状况统计信息。参见 RemoteStreamStats。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstLocalAudioFrame(
StreamIndex streamIndex)
本地采集到第一帧音频帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 音频流属性, 详见 StreamIndex |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstRemoteAudioFrame(
RemoteStreamKey remoteStreamKey)
接收到来自远端某音频流的第一帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端音频流信息, 详见 RemoteStreamKey |
注意 用户刚收到房间内订阅的每一路音频流时,都会收到该回调。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onStreamSubscribed(
int stateCode,
String userId,
SubscribeConfig info)
关于订阅媒体流状态改变的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stateCode | int | 订阅媒体流状态,参看 SubscribeState |
| userId | String | 流发布用户的用户 ID |
| info | SubscribeConfig | 流的属性,参看 SubscribeConfig |
注意 本地用户收到该回调的时机包括: + 调用 subscribeStream 或 unsubscribeStream 订阅/取消订阅指定远端摄像头音视频流后;
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomMessageReceived(
String uid,
String message)
接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | String | 收到的消息内容 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomBinaryMessageReceived(
String uid,
ByteBuffer message)
接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | ByteBuffer | 收到的二进制消息内容 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserMessageReceived(
String uid,
String message)
收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者的用户 ID 。 |
| message | String | 收到的文本消息内容。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserBinaryMessageReceived(
String uid,
ByteBuffer message)
收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者的用户 ID 。 |
| message | ByteBuffer | 收到的二进制消息内容。 |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserMessageSendResult(
long msgid,
int error)
向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID。 |
| error | int | 文本或二进制消息发送结果,详见 UserMessageSendResult |
注意 调用 sendUserMessage 或 sendUserBinaryMessage 接口,才能收到此回调。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomMessageSendResult(
long msgid,
int error)
向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID。 |
| error | int | 消息发送结果,详见 UserMessageSendResult |
注意 调用 sendRoomMessage 或 sendRoomBinaryMessage 接口,才能收到此回调。
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstLocalVideoFrameCaptured(
StreamIndex streamIndex,
VideoFrameInfo videoFrameInfo)
第一帧本地采集的视频/屏幕共享画面采集完成时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| videoFrameInfo | VideoFrameInfo | 视频信息,参看 VideoFrameInfo |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalVideoSizeChanged(
StreamIndex streamIndex,
VideoFrameInfo frameInfo)
本地视频大小或旋转信息发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteVideoSizeChanged(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstRemoteVideoFrameRendered(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
SDK 内部渲染成功远端视频流首帧后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstRemoteVideoFrameDecoded(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
SDK 接收并解码远端视频流首帧后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStartVideoCapture(
String uid)
房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 开启视频采集的远端用户 ID |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStopVideoCapture(
String uid)
房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 关闭视频采集的远端用户 ID |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStartAudioCapture(
String uid)
房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 开启音频采集的远端用户 ID |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStopAudioCapture(
String uid)
房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 关闭音频采集的远端用户 ID |
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onVideoStreamBanned(
String uid,
boolean banned)
通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 被禁用/解禁的视频流用户 ID |
| banned | boolean | 视频流发送状态 • true: 视频流发送被禁用 • false: 视频流发送被解禁 |
注意
public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAudioStreamBanned(
String uid,
boolean banned)
通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 被禁用/解禁的音频流用户 ID |
| banned | boolean | 音频流发送状态 • true: 音频流发送被禁用 • false: 音频流发送被解禁 |
注意
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalAudioStateChanged(
LocalAudioStreamState state,
LocalAudioStreamError error)
本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | LocalAudioStreamState | 本地音频设备的状态,详见 LocalAudioStreamState |
| error | LocalAudioStreamError | 本地音频流状态改变时的错误码,详见 LocalAudioStreamError |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteAudioStateChanged(
RemoteStreamKey key,
RemoteAudioState state,
RemoteAudioStateChangeReason reason)
用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息, 详见 RemoteStreamKey |
| state | RemoteAudioState | 远端音频流状态,详见 RemoteAudioState |
| reason | RemoteAudioStateChangeReason | 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalVideoStateChanged(
StreamIndex streamIndex,
IRTCEngineEventHandler.LocalVideoStreamState state,
IRTCEngineEventHandler.LocalVideoStreamError error)
本地视频流的状态发生改变时,收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| state | IRTCEngineEventHandler.LocalVideoStreamState | 本地视频流状态,参看 LocalVideoStreamState |
| error | IRTCEngineEventHandler.LocalVideoStreamError | 本地视频状态改变时的错误码,参看 LocalVideoStreamError |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteVideoStateChanged(
RemoteStreamKey streamKey,
IRTCEngineEventHandler.RemoteVideoState videoState,
IRTCEngineEventHandler.RemoteVideoStateChangeReason videoStateReason)
远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamKey | RemoteStreamKey | 远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey |
| videoState | IRTCEngineEventHandler.RemoteVideoState | 远端视频流状态,参看 RemoteVideoState |
| videoStateReason | IRTCEngineEventHandler.RemoteVideoStateChangeReason | 远端视频流状态改变原因,参看 RemoteVideoStateChangeReason |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onSimulcastSubscribeFallback(
IRTCEngineEventHandler.RemoteStreamSwitch event)
因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| event | IRTCEngineEventHandler.RemoteStreamSwitch | 流切换信息。详见 RemoteStreamSwitch。 |
注意 必须先通过 API 或控制台设置音视频流订阅回退功能时,你才能收到此回调。
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAudioFrameSendStateChanged(
IRTCEngineEventHandler.RtcUser user,
IRTCEngineEventHandler.FirstFrameSendState state)
本地音频首帧发送状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | IRTCEngineEventHandler.RtcUser | 本地用户信息,详见 RtcUser |
| state | IRTCEngineEventHandler.FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onVideoFrameSendStateChanged(
IRTCEngineEventHandler.RtcUser user,
IRTCEngineEventHandler.FirstFrameSendState state)
本地视频首帧发送状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | IRTCEngineEventHandler.RtcUser | 本地用户信息,详见 RtcUser |
| state | IRTCEngineEventHandler.FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onScreenVideoFrameSendStateChanged(
IRTCEngineEventHandler.RtcUser user,
IRTCEngineEventHandler.FirstFrameSendState state)
屏幕共享流的视频首帧发送状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | IRTCEngineEventHandler.RtcUser | 本地用户信息,详见 RtcUser |
| state | IRTCEngineEventHandler.FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAudioFramePlayStateChanged(
IRTCEngineEventHandler.RtcUser user,
IRTCEngineEventHandler.FirstFramePlayState state)
音频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | IRTCEngineEventHandler.RtcUser | 远端用户信息,详见 RtcUser |
| state | IRTCEngineEventHandler.FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onVideoFramePlayStateChanged(
IRTCEngineEventHandler.RtcUser user,
IRTCEngineEventHandler.FirstFramePlayState state)
视频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | IRTCEngineEventHandler.RtcUser | 远端用户信息,详见 RtcUser |
| state | IRTCEngineEventHandler.FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onScreenVideoFramePlayStateChanged(
IRTCEngineEventHandler.RtcUser user,
IRTCEngineEventHandler.FirstFramePlayState state)
屏幕共享流视频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | IRTCEngineEventHandler.RtcUser | 远端用户信息,详见 RtcUser |
| state | IRTCEngineEventHandler.FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onForwardStreamStateChanged(
ForwardStreamStateInfo[] stateInfos)
跨房间媒体流转发状态和错误回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stateInfos | ForwardStreamStateInfo[] | 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo |
public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onForwardStreamEvent(
ForwardStreamEventInfo[] eventInfos)
跨房间媒体流转发事件回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventInfos | ForwardStreamEventInfo[] | 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo |