IExternalVideoEncoderEventHandler

public abstract class com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler

自定义编码帧回调类

成员函数

返回 名称
abstract void OnStart
abstract void OnStop
abstract void OnRateUpdate
abstract void OnRequestKeyFrame

函数说明

OnStart

public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnStart(
    StreamIndex index)

提示自定义编码帧可以开始推送的回调。
收到该回调后,你即可调用 pushExternalEncodedVideoFrame 向 SDK 推送自定义编码视频帧

传入参数

参数名 类型 说明
index StreamIndex 可以推送的编码流的属性,参看 StreamIndex

OnStop

public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnStop(
    StreamIndex index)

当收到该回调时,你需停止向 SDK 推送自定义编码视频帧

传入参数

参数名 类型 说明
index StreamIndex 需停止推送的编码流的属性,参看 StreamIndex

OnRateUpdate

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

OnRequestKeyFrame

public abstract void com.ss.bytertc.engine.handler.IExternalVideoEncoderEventHandler.OnRequestKeyFrame(
    StreamIndex stream_index,
    int video_index)

提示流发布端需重新生成关键帧的回调

传入参数

参数名 类型 说明
stream_index StreamIndex 远端编码流的属性,参看 StreamIndex
video_index int 对应编码流的下标

IRTCEngineEventHandler

public abstract class com.ss.bytertc.engine.handler.IRTCEngineEventHandler

音视频引擎事件回调接口

成员函数

返回 名称
void onRoomStateChanged
void onStreamStateChanged
void onWarning
void onError
void onLeaveRoom
void onRoomStats
void onSysStats
void onNetworkTypeChanged
void onUserJoined
void onUserLeave
void onTokenWillExpire
void onUserPublishStream
void onUserUnPublishStream
void onUserPublishScreen
void onUserUnPublishScreen
void onUserStartVideoCapture
void onUserStopVideoCapture
void onUserStartAudioCapture
void onUserStopAudioCapture
void onSimulcastSubscribeFallback
void onLocalStreamStats
void onRemoteStreamStats
void onLocalAudioStateChanged
void onRemoteAudioStateChanged
void onLocalVideoStateChanged
void onRemoteVideoStateChanged
void onFirstRemoteVideoFrameRendered
void onFirstRemoteVideoFrameDecoded
void onFirstLocalVideoFrameCaptured
void onLocalVideoSizeChanged
void onRemoteVideoSizeChanged
void onConnectionStateChanged
void onAudioRouteChanged
void onFirstLocalAudioFrame
void onFirstRemoteAudioFrame
void onStreamSubscribed
void onLogReport
void onRoomMessageReceived
void onRoomBinaryMessageReceived
void onUserMessageReceived
void onUserBinaryMessageReceived
void onUserMessageSendResult
void onRoomMessageSendResult
void onSEIMessageReceived
void onLoginResult
void onLogout
void onServerParamsSetResult
void onGetPeerOnlineStatus
void onUserMessageReceivedOutsideRoom
void onUserBinaryMessageReceivedOutsideRoom
void onUserMessageSendResultOutsideRoom
void onServerMessageSendResult
void onNetworkDetectionResult
void onNetworkDetectionStopped
void onPerformanceAlarms
void onAudioFrameSendStateChanged
void onVideoFrameSendStateChanged
void onScreenVideoFrameSendStateChanged
void onAudioFramePlayStateChanged
void onVideoFramePlayStateChanged
void onScreenVideoFramePlayStateChanged
void onAudioDeviceStateChanged
void onVideoDeviceStateChanged
void onAudioDeviceWarning
void onVideoDeviceWarning
void onHttpProxyState
void onHttpsProxyState
void onSocks5ProxyState
void onRecordingStateUpdate
void onRecordingProgressUpdate
void onAudioMixingStateChanged
void onAVSyncStateChange
void onAudioMixingPlayingProgress
void onVideoStreamBanned
void onAudioStreamBanned
void onLocalAudioPropertiesReport
void onRemoteAudioPropertiesReport
void onActiveSpeaker
void onStreamSyncInfoReceived
void onForwardStreamStateChanged
void onForwardStreamEvent
void onNetworkQuality
void onPushPublicStreamResult
void onPlayPublicStreamResult
void onPublicStreamSEIMessageReceived
void onFirstPublicStreamVideoFrameDecoded
void onFirstPublicStreamAudioFrame
void onCloudProxyConnected

函数说明

onRoomStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomStateChanged(
    String roomId,
    String uid,
    int state,
    String extraInfo)

房间状态改变回调,加入房间、离开房间、发生房间相关的警告或错误时会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID。
uid String 用户 ID。
state int 房间状态码。
• 0: 成功。
• !0: 失败,具体原因参看 ErrorCode 及 WarningCode。
extraInfo String 额外信息。
joinType表示加入房间的类型,0为首次进房,1为重连进房。
elapsed表示加入房间耗时,即本地用户从调用 joinRoom 到加入房间成功所经历的时间间隔,单位为 ms。

onStreamStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onStreamStateChanged(
    String roomId,
    String uid,
    int state,
    String extraInfo)

流状态改变回调,发生流相关的警告或错误时会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID。
uid String 用户 ID。
state int 流状态码,参看 ErrorCode 及 WarningCode。
extraInfo String 附加信息,目前为空。

onWarning

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onWarning(
    int warn)

发生警告回调。

传入参数

参数名 类型 说明
warn int 警告代码,参见 WarningCode

注意 SDK 运行时出现了(网络或媒体相关的)警告。SDK 通常会自动恢复,警告信息可以忽略。

onError

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onError(
    int err)

发生错误回调。

传入参数

参数名 类型 说明
err int 错误代码,详情定义见: ErrorCode

注意 SDK 运行时出现了(网络或媒体相关的)错误。SDK 通常无法自动恢复,你可能需要干预。

onLeaveRoom

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLeaveRoom(
    RTCRoomStats stats)

离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。

传入参数

参数名 类型 说明
stats RTCRoomStats 本次通话的统计数据。详见 RTCRoomStats。

注意

onRoomStats

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomStats(
    RTCRoomStats stats)

房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。

传入参数

参数名 类型 说明
stats RTCRoomStats 当前 RtcEngine 统计数据,详见 RTCRoomStats

onSysStats

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSysStats(
    SysStats stats)

每2秒发生回调,通知当前cpu,内存使用的信息。

传入参数

参数名 类型 说明
stats SysStats cpu,内存信息。详见 SysStats 数据类型。

onNetworkTypeChanged

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 移动网络。

onUserJoined

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserJoined(
    UserInfo userInfo,
    int elapsed)

远端可见用户加入房间,或房内不可见用户切换为可见的回调。

传入参数

参数名 类型 说明
userInfo UserInfo 用户信息,参看 UserInfo。
elapsed int 保留字段,无意义。

onUserLeave

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserLeave(
    String uid,
    int reason)

远端用户离开房间,或切至不可见时,本地用户会收到此事件

传入参数

参数名 类型 说明
uid String 离开房间,或切至不可见的的远端用户 ID。
reason int 用户离开房间的原因:
• 0: 远端用户调用 leaveRoom 主动退出房间。
• 1: 远端用户因 Token 过期或网络原因等掉线。
• 2: 远端用户调用 setUserVisibility 切换至不可见状态。
• 3: 服务端调用 OpenAPI 将远端用户踢出房间。

onTokenWillExpire

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onTokenWillExpire()

Token 过期前 30 秒将触发该回调。
调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。

onUserPublishStream

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserPublishStream(
    String uid,
    RTCEngine.MediaStreamType type)

房间内新增远端摄像头/麦克风采集的媒体流的回调。

传入参数

参数名 类型 说明
uid String 远端流发布用户的用户 ID。
type RTCEngine.MediaStreamType 远端媒体流的类型,参看 MediaStreamType。

注意 当房间内的远端用户调用 publishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStream 订阅此流。

onUserUnPublishStream

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 取消订阅此流。

onUserPublishScreen

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserPublishScreen(
    String uid,
    RTCEngine.MediaStreamType type)

房间内新增远端屏幕共享音视频流的回调。

传入参数

参数名 类型 说明
uid String 远端流发布用户的用户 ID。
type RTCEngine.MediaStreamType 远端媒体流的类型,参看 MediaStreamType。

注意 当房间内的远端用户调用 publishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeScreen 订阅此流。

onUserUnPublishScreen

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 取消订阅此流。

onUserStartVideoCapture

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStartVideoCapture(
    String uid)

房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 开启视频采集的远端用户 ID

onUserStopVideoCapture

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStopVideoCapture(
    String uid)

房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 关闭视频采集的远端用户 ID

onUserStartAudioCapture

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStartAudioCapture(
    String uid)

房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 开启音频采集的远端用户 ID

onUserStopAudioCapture

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStopAudioCapture(
    String uid)

房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 关闭音频采集的远端用户 ID

onSimulcastSubscribeFallback

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSimulcastSubscribeFallback(
    RemoteStreamSwitch event)

音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。

传入参数

参数名 类型 说明
event RemoteStreamSwitch 音视频流发生变化的信息。参看 RemoteStreamSwitch。

onLocalStreamStats

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalStreamStats(
    LocalStreamStats stats)

发布流成功后,每隔 2s 收到此回调,了解发布的流在此周期内的网络质量信息。

传入参数

参数名 类型 说明
stats LocalStreamStats 音视频流以及网络状况统计信息。参见 LocalStreamStats。

onRemoteStreamStats

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteStreamStats(
    RemoteStreamStats stats)

每隔 2s 收到此回调,了解订阅的远端用户发布的流在此周期内的网络质量信息。

传入参数

参数名 类型 说明
stats RemoteStreamStats 音视频流以及网络状况统计信息。参见 RemoteStreamStats。

onLocalAudioStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalAudioStateChanged(
    LocalAudioStreamState state,
    LocalAudioStreamError error)

本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。

传入参数

参数名 类型 说明
state LocalAudioStreamState 本地音频设备的状态,详见 LocalAudioStreamState
error LocalAudioStreamError 本地音频流状态改变时的错误码,详见 LocalAudioStreamError

onRemoteAudioStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteAudioStateChanged(
    RemoteStreamKey key,
    RemoteAudioState state,
    RemoteAudioStateChangeReason reason)

用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。

传入参数

参数名 类型 说明
key RemoteStreamKey 远端流信息, 详见 RemoteStreamKey
state RemoteAudioState 远端音频流状态,详见 RemoteAudioState
reason RemoteAudioStateChangeReason 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason

onLocalVideoStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalVideoStateChanged(
    StreamIndex streamIndex,
    LocalVideoStreamState state,
    LocalVideoStreamError error)

本地视频流的状态发生改变时,收到该事件。

传入参数

参数名 类型 说明
streamIndex StreamIndex 流属性,参看 StreamIndex
state LocalVideoStreamState 本地视频流状态,参看 LocalVideoStreamState
error LocalVideoStreamError 本地视频状态改变时的错误码,参看 LocalVideoStreamError

onRemoteVideoStateChanged

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

onFirstRemoteVideoFrameRendered

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteVideoFrameRendered(
    RemoteStreamKey remoteStreamKey,
    VideoFrameInfo frameInfo)

SDK 内部渲染成功远端视频流首帧后,收到此回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端流信息,参看 RemoteStreamKey
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onFirstRemoteVideoFrameDecoded

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteVideoFrameDecoded(
    RemoteStreamKey remoteStreamKey,
    VideoFrameInfo frameInfo)

SDK 接收并解码远端视频流首帧后,收到此回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端流信息,参看 RemoteStreamKey
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onFirstLocalVideoFrameCaptured

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstLocalVideoFrameCaptured(
    StreamIndex streamIndex,
    VideoFrameInfo frameInfo)

RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。

传入参数

参数名 类型 说明
streamIndex StreamIndex 流属性,参看 StreamIndex
frameInfo VideoFrameInfo 视频信息,参看 VideoFrameInfo

注意 对于采集到的本地视频帧,你可以调用 setLocalVideoCanvas 或 setLocalVideoSink 在本地渲染。

onLocalVideoSizeChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalVideoSizeChanged(
    StreamIndex streamIndex,
    VideoFrameInfo frameInfo)

本地视频大小或旋转信息发生改变时,收到此回调。

传入参数

参数名 类型 说明
streamIndex StreamIndex 流属性,参看 StreamIndex
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onRemoteVideoSizeChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteVideoSizeChanged(
    RemoteStreamKey remoteStreamKey,
    VideoFrameInfo frameInfo)

远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端流信息,参看 StreamIndex
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onConnectionStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onConnectionStateChanged(
    int state,
    int reason)

回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。

传入参数

参数名 类型 说明
state int 当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState
reason int 引起信令服务器连接状态发生改变的原因,目前未启用固定为 -1 。

注意

onAudioRouteChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioRouteChanged(
    AudioRoute device)

音频播放路由变化时,收到该回调。

传入参数

参数名 类型 说明
device AudioRoute 新的音频播放路由,详见 AudioRoute

注意 关于音频路由设置,详见 setAudioRoute

onFirstLocalAudioFrame

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstLocalAudioFrame(
    StreamIndex streamIndex)

本地采集到第一帧音频帧时,收到该回调。

传入参数

参数名 类型 说明
streamIndex StreamIndex 音频流属性, 详见 StreamIndex

onFirstRemoteAudioFrame

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteAudioFrame(
    RemoteStreamKey remoteStreamKey)

接收到来自远端某音频流的第一帧时,收到该回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端音频流信息, 详见 RemoteStreamKey

注意 用户刚收到房间内订阅的每一路音频流时,都会收到该回调。

onStreamSubscribed

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onStreamSubscribed(
    SubscribeState stateCode,
    String userId,
    SubscribeConfig info)

关于订阅媒体流状态改变的回调

传入参数

参数名 类型 说明
stateCode SubscribeState 订阅媒体流状态,参看 SubscribeState
userId String 流发布用户的用户 ID
info SubscribeConfig 流的属性,参看 SubscribeConfig

注意 本地用户收到该回调的时机包括:

onLogReport

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLogReport(
    String logType,
    JSONObject logContent)

上报日志时回调该事件。

传入参数

参数名 类型 说明
logType String 日志类型。
logContent JSONObject 日志内容。

onRoomMessageReceived

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomMessageReceived(
    String uid,
    String message)

接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者 ID
message String 收到的消息内容

onRoomBinaryMessageReceived

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomBinaryMessageReceived(
    String uid,
    ByteBuffer message)

接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者 ID
message ByteBuffer 收到的二进制消息内容

onUserMessageReceived

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageReceived(
    String uid,
    String message)

收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者的用户 ID 。
message String 收到的文本消息内容。

onUserBinaryMessageReceived

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserBinaryMessageReceived(
    String uid,
    ByteBuffer message)

收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者的用户 ID 。
message ByteBuffer 收到的二进制消息内容。

onUserMessageSendResult

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageSendResult(
    long msgid,
    int error)

向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名 类型 说明
msgid long 本条消息的 ID。
error int 文本或二进制消息发送结果,详见 UserMessageSendResult

注意 调用 sendUserMessage 或 sendUserBinaryMessage 接口,才能收到此回调。

onRoomMessageSendResult

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomMessageSendResult(
    long msgid,
    int error)

调用 sendRoomMessage 或 sendRoomBinaryMessage,向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名 类型 说明
msgid long 本条消息的 ID。
error int 消息发送结果,详见 RoomMessageSendResult

onSEIMessageReceived

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSEIMessageReceived(
    RemoteStreamKey remoteStreamKey,
    ByteBuffer message)

收到通过调用 sendSEIMessage 发送带有 SEI 消息的视频帧时,收到此回调

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey
message ByteBuffer 收到的 SEI 消息内容

onLoginResult

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 后,会收到此回调。

onLogout

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLogout()

登出结果回调

注意 调用 logout 后,会收到此回调。

onServerParamsSetResult

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onServerParamsSetResult(
    int error)

设置应用服务器参数的返回结果

传入参数

参数名 类型 说明
error int 设置结果
• 返回 200,设置成功
• 返回其他,设置失败

注意 调用 setServerParams 后,会收到此回调。

onGetPeerOnlineStatus

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onGetPeerOnlineStatus(
    String peerUserId,
    int status)

查询对端或本端用户登录状态的返回结果

传入参数

参数名 类型 说明
peerUserId String 需要查询的用户 ID
status int 查询的用户登录状态
详见 UserOnlineStatus.

注意 必须先调用 getPeerOnlineStatus,才能收到此回调。

onUserMessageReceivedOutsideRoom

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageReceivedOutsideRoom(
    String uid,
    String message)

收到房间外用户调用 sendUserMessageOutsideRoom 发来的文本消息时,会收到此回调

传入参数

参数名 类型 说明
uid String 消息发送者 ID
message String 收到的文本消息内容

onUserBinaryMessageReceivedOutsideRoom

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserBinaryMessageReceivedOutsideRoom(
    String uid,
    ByteBuffer message)

收到房间外用户调用 sendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调

传入参数

参数名 类型 说明
uid String 消息发送者 ID
message ByteBuffer 收到的二进制消息内容

onUserMessageSendResultOutsideRoom

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageSendResultOutsideRoom(
    long msgid,
    int error)

给房间外指定的用户发送消息的回调

传入参数

参数名 类型 说明
msgid long 本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。
error int 消息发送结果
详见 UserMessageSendResult。

注意 当调用 sendUserMessageOutsideRoom 或 sendUserBinaryMessageOutsideRoom 发送消息后,会收到此回调。

onServerMessageSendResult

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onServerMessageSendResult(
    long msgid,
    int error,
    ByteBuffer message)

给应用服务器发送消息的回调

传入参数

参数名 类型 说明
msgid long 本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。
error int 消息发送结果,详见 UserMessageSendResult。
message ByteBuffer 应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。

注意 当调用 sendServerMessage 或 sendServerBinaryMessage 接口发送消息后,会收到此回调。

onNetworkDetectionResult

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

onNetworkDetectionStopped

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkDetectionStopped(
    NetworkDetectionStopReason reason)

通话前网络探测结束 以下情况将停止探测并收到本一次本回调:
1. 当调用 stopNetworkDetection 接口停止探测后,会收到一次该回调; 2. 当收到远端/本端音频首帧后,停止探测; 3. 当探测超过3分钟后,停止探测; 4. 当探测链路断开一定时间之后,停止探测。

传入参数

参数名 类型 说明
reason NetworkDetectionStopReason 停止探测的原因类型,参考 NetworkDetectionStopReason

onPerformanceAlarms

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。

onAudioFrameSendStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioFrameSendStateChanged(
    RtcUser user,
    FirstFrameSendState state)

本地音频首帧发送状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user RtcUser 本地用户信息,详见 RtcUser
state FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

onVideoFrameSendStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoFrameSendStateChanged(
    RtcUser user,
    FirstFrameSendState state)

本地视频首帧发送状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user RtcUser 本地用户信息,详见 RtcUser
state FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

onScreenVideoFrameSendStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onScreenVideoFrameSendStateChanged(
    RtcUser user,
    FirstFrameSendState state)

屏幕共享流的视频首帧发送状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user RtcUser 本地用户信息,详见 RtcUser
state FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

onAudioFramePlayStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioFramePlayStateChanged(
    RtcUser user,
    FirstFramePlayState state)

音频首帧播放状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user RtcUser 远端用户信息,详见 RtcUser
state FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

onVideoFramePlayStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoFramePlayStateChanged(
    RtcUser user,
    FirstFramePlayState state)

视频首帧播放状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user RtcUser 远端用户信息,详见 RtcUser
state FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

onScreenVideoFramePlayStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onScreenVideoFramePlayStateChanged(
    RtcUser user,
    FirstFramePlayState state)

屏幕共享流视频首帧播放状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user RtcUser 远端用户信息,详见 RtcUser
state FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

onAudioDeviceStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioDeviceStateChanged(
    String device_id,
    AudioDeviceType device_type,
    int device_state,
    int device_error)

音频设备状态回调。提示音频采集、音频播放等媒体设备的状态。

传入参数

参数名 类型 说明
device_id String 设备 ID
device_type AudioDeviceType 设备类型,详见 AudioDeviceType。
device_state int 设备状态,详见 MediaDeviceState。
device_error int 设备错误类型,详见 MediaDeviceError。

onVideoDeviceStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoDeviceStateChanged(
    String device_id,
    VideoDeviceType device_type,
    int device_state,
    int device_error)

视频设备状态回调。提示摄像头视频采集、屏幕视频采集等媒体设备的状态。

传入参数

参数名 类型 说明
device_id String 设备 ID
device_type VideoDeviceType 设备类型,详见 VideoDeviceType。
device_state int 设备状态,详见 MediaDeviceState。
device_error int 设备错误类型,详见 MediaDeviceError。

onAudioDeviceWarning

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioDeviceWarning(
    String device_id,
    AudioDeviceType device_type,
    int device_warning)

音频设备警告回调。音频设备包括音频采集设备、音频渲染设备等。

传入参数

参数名 类型 说明
device_id String 设备 ID
device_type AudioDeviceType 参看 AudioDeviceType
device_warning int 参看 MediaDeviceWarning

onVideoDeviceWarning

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoDeviceWarning(
    String device_id,
    VideoDeviceType device_type,
    int device_warning)

视频设备警告回调,包括视频采集等设备。

传入参数

参数名 类型 说明
device_id String 设备 ID
device_type VideoDeviceType 参看 VideoDeviceType
device_warning int 参看 MediaDeviceWarning

onHttpProxyState

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onHttpProxyState(
    int state)

HTTP 代理连接状态改变时,收到该回调。

传入参数

参数名 类型 说明
state int 当前 HTTP 代理连接状态

onHttpsProxyState

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onHttpsProxyState(
    int state)

HTTPS 代理连接状态改变时,收到该回调。

传入参数

参数名 类型 说明
state int 当前 HTTPS 代理连接状态

onSocks5ProxyState

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 代理连接状态

onRecordingStateUpdate

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

onRecordingProgressUpdate

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

onAudioMixingStateChanged

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。

注意

onAVSyncStateChange

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAVSyncStateChange(
    AVSyncState state)

发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。

传入参数

参数名 类型 说明
state AVSyncState 音视频同步状态,参看 AVSyncState。

onAudioMixingPlayingProgress

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioMixingPlayingProgress(
    int mixId,
    long progress)

混音音频文件播放进度回调

传入参数

参数名 类型 说明
mixId int 混音 ID
progress long 当前混音音频文件播放进度,单位毫秒

注意 调用 setAudioMixingProgressInterval 将时间间隔设为大于 0 的值后,或调用 startAudioMixing 将 AudioMixingConfig 中的时间间隔设为大于 0 的值后,SDK 会按照设置的时间间隔回调该事件。

onVideoStreamBanned

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoStreamBanned(
    String uid,
    boolean banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。

传入参数

参数名 类型 说明
uid String 被禁用/解禁的视频流用户 ID
banned boolean 视频流发送状态
• true: 视频流发送被禁用
• false: 视频流发送被解禁

注意

onAudioStreamBanned

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioStreamBanned(
    String uid,
    boolean banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。

传入参数

参数名 类型 说明
uid String 被禁用/解禁的音频流用户 ID
banned boolean 音频流发送状态
• true: 音频流发送被禁用
• false: 音频流发送被解禁

注意

onLocalAudioPropertiesReport

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalAudioPropertiesReport(
    LocalAudioPropertiesInfo[] audioPropertiesInfos)

调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。

传入参数

参数名 类型 说明
audioPropertiesInfos LocalAudioPropertiesInfo[] 本地音频信息,详见 LocalAudioPropertiesInfo 。

onRemoteAudioPropertiesReport

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteAudioPropertiesReport(
    RemoteAudioPropertiesInfo[] audioPropertiesInfos,
    int totalRemoteVolume)

远端用户进房后,本地调用 enableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。

传入参数

参数名 类型 说明
audioPropertiesInfos RemoteAudioPropertiesInfo[] 远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。
totalRemoteVolume int 订阅的所有远端流的总音量。

onActiveSpeaker

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onActiveSpeaker(
    String roomId,
    String uid)

调用 enableAudioPropertiesReport 后,根据设置的 AudioPropertiesConfig.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。

传入参数

参数名 类型 说明
roomId String 房间 ID
uid String 最活跃用户(ActiveSpeaker)的用户 ID

onStreamSyncInfoReceived

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 消息内容。

onForwardStreamStateChanged

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onForwardStreamStateChanged(
    ForwardStreamStateInfo[] stateInfos)

跨房间媒体流转发状态和错误回调

传入参数

参数名 类型 说明
stateInfos ForwardStreamStateInfo[] 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo

onForwardStreamEvent

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onForwardStreamEvent(
    ForwardStreamEventInfo[] eventInfos)

跨房间媒体流转发事件回调

传入参数

参数名 类型 说明
eventInfos ForwardStreamEventInfo[] 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo

onNetworkQuality

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkQuality(
    NetworkQualityStats localQuality,
    NetworkQualityStats[] remoteQualities)

加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息

传入参数

参数名 类型 说明
localQuality NetworkQualityStats 本地网络质量,详见 NetworkQualityStats。
remoteQualities NetworkQualityStats[] 已订阅用户的网络质量,详见 NetworkQualityStats。

注意 更多通话中的监测接口,详见通话中质量监测

onPushPublicStreamResult

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onPushPublicStreamResult(
    String publicStreamId,
    int errorCode)

公共流发布结果回调。
调用 startPushPublicStream 接口发布公共流后,启动结果通过此回调方法通知用户。

传入参数

参数名 类型 说明
publicStreamId String 公共流 ID
errorCode int 公共流发布结果状态码。
200: 发布成功

onPlayPublicStreamResult

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onPlayPublicStreamResult(
    String publicStreamId,
    int errorCode)

订阅公共流的结果回调
调用 startPlayPublicStream 接口启动拉公共流功能后,通过此回调收到启动结果和拉流过程中的错误。

传入参数

参数名 类型 说明
publicStreamId String 公共流ID。
errorCode int 公共流订阅结果状态码。
200: 发布成功

onPublicStreamSEIMessageReceived

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onPublicStreamSEIMessageReceived(
    String publicStreamId,
    ByteBuffer message)

回调公共流中包含的 SEI 信息
调用 startPlayPublicStream 接口启动拉公共流功能后,通过此回调收到公共流中的SEI消息。

传入参数

参数名 类型 说明
publicStreamId String 公共流ID。
message ByteBuffer 收到的 SEI 消息内容

注意 当公共流中的多路视频流均包含有 SEI 信息时:SEI 不互相冲突时,将通过多次回调分别发送; SEI 在同一帧有冲突时,则只有一条流中的 SEI 信息被透传并融合到公共流中。

onFirstPublicStreamVideoFrameDecoded

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstPublicStreamVideoFrameDecoded(
    String publicStreamId,
    VideoFrameInfo videoFrameInfo)

公共流的首帧视频解码成功
关于订阅公共流,详见 startPlayPublicStream。

传入参数

参数名 类型 说明
publicStreamId String 公共流 ID
videoFrameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onFirstPublicStreamAudioFrame

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstPublicStreamAudioFrame(
    String publicStreamId)

公共流的音频首帧解码成功
关于订阅公共流,详见 startPlayPublicStream。

传入参数

参数名 类型 说明
publicStreamId String 公共流 ID

onCloudProxyConnected

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onCloudProxyConnected(
    int interval)

调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。

传入参数

参数名 类型 说明
interval int 从开启云代理到连接成功经过的时间,单位为 ms

IRTCEncryptionHandler

public interface com.ss.bytertc.engine.handler.IRTCEncryptionHandler

加密事件回调接口

成员函数

返回 名称
byte[] onEncryptData
byte[] onDecryptData

函数说明

onEncryptData

public byte[] com.ss.bytertc.engine.handler.IRTCEncryptionHandler.onEncryptData(
    byte[] data)

自定义加密

传入参数

参数名 类型 说明
data byte[] 未加密的数据。

返回值 加密后的数据

onDecryptData

public byte[] com.ss.bytertc.engine.handler.IRTCEncryptionHandler.onDecryptData(
    byte[] data)

自定义解密

传入参数

参数名 类型 说明
data byte[] 加密过的数据。

返回值 解密后的数据

ILiveTranscodingObserver

public interface com.ss.bytertc.engine.live.ILiveTranscodingObserver

转推直播观察者。

成员函数

返回 名称
boolean isSupportClientPushStream
void onStreamMixingEvent
void onMixingAudioFrame
void onMixingVideoFrame
void onDataFrame

函数说明

isSupportClientPushStream

boolean com.ss.bytertc.engine.live.ILiveTranscodingObserver.isSupportClientPushStream()

是否具有推流能力。

注意

onStreamMixingEvent

void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onStreamMixingEvent(
    ByteRTCStreamMixingEvent eventType,
    String taskId,
    ByteRTCTranscoderErrorCode error,
    ByteRTCStreamMixingType mixType)

转推直播状态回调

传入参数

参数名 类型 说明
eventType ByteRTCStreamMixingEvent 转推直播任务状态, 参看 ByteRTCStreamMixingEvent
taskId String 转推直播任务 ID
error ByteRTCTranscoderErrorCode 转推直播错误码,参看 ByteRTCTranscoderErrorCode
mixType ByteRTCStreamMixingType 转推直播类型,参看 ByteRTCStreamMixingType

onMixingAudioFrame

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 毫秒数据量。

onMixingVideoFrame

void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onMixingVideoFrame(
    String taskId,
    VideoFrame videoFrame)

端云一体合流视频 YUV 回调

传入参数

参数名 类型 说明
taskId String 转推直播任务 ID
videoFrame VideoFrame YUV 合流视频数据帧,参看 VideoFrame

注意

public void onMixingVideoFrame(String taskId, VideoFrame videoFrame){
videoFrame.release()
}

onDataFrame

void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onDataFrame(
    String taskId,
    byte[] dataFrame,
    long time)

端云一体合流视频 SEI 数据回调

传入参数

参数名 类型 说明
taskId String 转推直播任务 ID
dataFrame byte[] SEI 数据
time long 时间信息

IFaceDetectionObserver

public interface com.ss.bytertc.engine.video.IFaceDetectionObserver

人脸检测结果回调观察者

成员函数

返回 名称
void onFaceDetectResult

函数说明

onFaceDetectResult

public void com.ss.bytertc.engine.video.IFaceDetectionObserver.onFaceDetectResult(
    FaceDetectionResult result)

特效 SDK 进行人脸检测结果的回调。
调用 registerFaceDetectionObserver 注册了 IFaceDetectionObserver,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。

传入参数

参数名 类型 说明
result FaceDetectionResult 人脸检测结果, 参看 FaceDetectionResult。

IRangeAudioObserver

public interface com.ss.bytertc.engine.IRangeAudioObserver

范围语音衰减系数监测器

成员函数

返回 名称
void OnRangeAudioInfo

函数说明

OnRangeAudioInfo

void com.ss.bytertc.engine.IRangeAudioObserver.OnRangeAudioInfo(
    RangeAudioInfo[] range_audio_info)

关于当前范围语音衰减系数的回调。
手动订阅的场景下,房间内任一用户调用 updatePosition 更新自身位置或调用 updateReceiveRange 更新语音接收范围时,该用户与房间内其他用户的相对距离都会发生改变,据此计算的衰减系数也会发生改变,并通过该回调通知用户。
你可以通过关注该回调中包含的远端用户的衰减系数决定是否订阅该远端用户的流。

传入参数

参数名 类型 说明
range_audio_info RangeAudioInfo[] 包含范围语音流信息的数组,参看 RangeAudioInfo

注意 更新自身位置或语音接收范围后,并不会马上触发该回调。SDK 会每 500 ms 计算一次衰减系数,并且只在计算结果与上次不同,或结果相同但是距离上次计算已超过 3 秒的时候推送回调。

ILocalEncodedVideoFrameObserver

public interface com.ss.bytertc.engine.mediaio.ILocalEncodedVideoFrameObserver

本地视频帧监测器

成员函数

返回 名称
void onLocalEncodedVideoFrame

函数说明

onLocalEncodedVideoFrame

void com.ss.bytertc.engine.mediaio.ILocalEncodedVideoFrameObserver.onLocalEncodedVideoFrame(
    StreamIndex streamIndex,
    RTCEncodedVideoFrame encodedVideoFrame)

调用 registerLocalEncodedVideoFrameObserver 后,SDK 每次使用内部采集,采集到一帧视频帧,或收到一帧外部视频帧时,都会回调该事件。

传入参数

参数名 类型 说明
streamIndex StreamIndex 本地视频帧类型,参看 StreamIndex
encodedVideoFrame RTCEncodedVideoFrame 本地视频帧信息,参看 RTCEncodedVideoFrame

IRemoteEncodedVideoFrameObserver

public abstract class com.ss.bytertc.engine.mediaio.IRemoteEncodedVideoFrameObserver

远端编码后视频数据监测器

成员函数

返回 名称
abstract void OnRemoteEncodedVideoFrame

函数说明

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

IAudioFrameObserver

public interface com.ss.bytertc.engine.IAudioFrameObserver

音频数据回调观察者

成员函数

返回 名称
void onRecordAudioFrame
void onPlaybackAudioFrame
void onRemoteUserAudioFrame
void onMixedAudioFrame

函数说明

onRecordAudioFrame

void com.ss.bytertc.engine.IAudioFrameObserver.onRecordAudioFrame(
    IAudioFrame audioFrame)

返回麦克风录制的音频数据

传入参数

参数名 类型 说明
audioFrame IAudioFrame 音频数据, 参看 IAudioFrame。

onPlaybackAudioFrame

void com.ss.bytertc.engine.IAudioFrameObserver.onPlaybackAudioFrame(
    IAudioFrame audioFrame)

返回订阅的远端所有用户混音后的音频数据

传入参数

参数名 类型 说明
audioFrame IAudioFrame 音频数据, 参看 IAudioFrame。

onRemoteUserAudioFrame

void com.ss.bytertc.engine.IAudioFrameObserver.onRemoteUserAudioFrame(
    RemoteStreamKey stream_info,
    IAudioFrame audioFrame)

返回远端单个用户的音频数据

传入参数

参数名 类型 说明
stream_info RemoteStreamKey 远端流信息,参看 RemoteStreamKey。
audioFrame IAudioFrame 音频数据,参看 IAudioFrame。

onMixedAudioFrame

void com.ss.bytertc.engine.IAudioFrameObserver.onMixedAudioFrame(
    IAudioFrame audioFrame)

返回本地麦克风录制和订阅的所有远端用户混音后的音频数据

传入参数

参数名 类型 说明
audioFrame IAudioFrame 音频数据, 参看 IAudioFrame。

IRTCRoomEventHandler

public abstract class com.ss.bytertc.engine.handler.IRTCRoomEventHandler

房间事件回调接口

成员函数

返回 名称
abstract void onLeaveRoom
abstract void onRoomStateChanged
abstract void onStreamStateChanged
abstract void onAVSyncStateChange
abstract void onRtcStats
abstract void onUserJoined
abstract void onUserLeave
abstract void onTokenWillExpire
abstract void onUserPublishStream
abstract void onUserUnPublishStream
abstract void onUserPublishScreen
abstract void onUserUnPublishScreen
abstract void onLocalStreamStats
abstract void onRemoteStreamStats
abstract void onFirstLocalAudioFrame
abstract void onFirstRemoteAudioFrame
abstract void onStreamSubscribed
abstract void onRoomMessageReceived
abstract void onRoomBinaryMessageReceived
abstract void onUserMessageReceived
abstract void onUserBinaryMessageReceived
abstract void onUserMessageSendResult
abstract void onRoomMessageSendResult
abstract void onFirstLocalVideoFrameCaptured
abstract void onLocalVideoSizeChanged
abstract void onRemoteVideoSizeChanged
abstract void onFirstRemoteVideoFrameRendered
abstract void onFirstRemoteVideoFrameDecoded
abstract void onUserStartVideoCapture
abstract void onUserStopVideoCapture
abstract void onUserStartAudioCapture
abstract void onUserStopAudioCapture
abstract void onVideoStreamBanned
abstract void onAudioStreamBanned
void onLocalAudioStateChanged
void onRemoteAudioStateChanged
void onLocalVideoStateChanged
void onRemoteVideoStateChanged
void onSimulcastSubscribeFallback
void onAudioFrameSendStateChanged
void onVideoFrameSendStateChanged
void onScreenVideoFrameSendStateChanged
void onAudioFramePlayStateChanged
void onVideoFramePlayStateChanged
void onScreenVideoFramePlayStateChanged
void onForwardStreamStateChanged
void onForwardStreamEvent
void onPushPublicStreamResult

函数说明

onLeaveRoom

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLeaveRoom(
    IRTCEngineEventHandler.RTCRoomStats stats)

离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。

传入参数

参数名 类型 说明
stats IRTCEngineEventHandler.RTCRoomStats 本次通话的统计数据。详见 RTCRoomStats。

注意

onRoomStateChanged

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomStateChanged(
    String roomId,
    String uid,
    int state,
    String extraInfo)

房间状态改变回调,加入房间、离开房间、发生房间相关的警告或错误时会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID。
uid String 用户 ID。
state int 房间状态码。
• 0: 成功。
• !0: 失败,具体原因参看 ErrorCode 及 WarningCode。
extraInfo String 额外信息。
joinType表示加入房间的类型,0为首次进房,1为重连进房。
elapsed表示加入房间耗时,即本地用户从调用 joinRoom 到加入房间成功所经历的时间间隔,单位为 ms。

onStreamStateChanged

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onStreamStateChanged(
    String roomId,
    String uid,
    int state,
    String extraInfo)

流状态改变回调,发生流相关的警告或错误时会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID。
uid String 用户 ID。
state int 流状态码,参看 ErrorCode 及 WarningCode。
extraInfo String 附加信息,目前为空。

onAVSyncStateChange

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAVSyncStateChange(
    AVSyncState state)

发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。

传入参数

参数名 类型 说明
state AVSyncState 音视频同步状态,参看 AVSyncState。

onRtcStats

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRtcStats(
    IRTCEngineEventHandler.RTCRoomStats stats)

房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。

传入参数

参数名 类型 说明
stats IRTCEngineEventHandler.RTCRoomStats 房间内的汇总统计数据。详见 RTCRoomStats。

onUserJoined

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。

onUserLeave

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserLeave(
    String uid,
    int reason)

远端用户离开房间,或切至不可见时,本地用户会收到此事件

传入参数

参数名 类型 说明
uid String 离开房间,或切至不可见的的远端用户 ID。
reason int 用户离开房间的原因:
• 0: 远端用户调用 leaveRoom 主动退出房间。
• 1: 远端用户因 Token 过期或网络原因等掉线。
• 2: 远端用户调用 setUserVisibility 切换至不可见状态。
• 3: 服务端调用 OpenAPI 将该远端用户踢出房间。

onTokenWillExpire

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onTokenWillExpire()

Token 过期前 30 秒将触发该回调。
调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。

onUserPublishStream

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserPublishStream(
    String uid,
    RTCEngine.MediaStreamType type)

房间内新增远端摄像头/麦克风采集音视频流的回调。

传入参数

参数名 类型 说明
uid String 远端流发布用户的用户 ID。
type RTCEngine.MediaStreamType 远端媒体流的类型,参看 MediaStreamType。

注意 当房间内的远端用户调用 publishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStream 订阅此流。

onUserUnPublishStream

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 取消订阅此流。

onUserPublishScreen

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserPublishScreen(
    String uid,
    RTCEngine.MediaStreamType type)

房间内新增远端屏幕共享音视频流的回调。

传入参数

参数名 类型 说明
uid String 远端流发布用户的用户 ID。
type RTCEngine.MediaStreamType 远端媒体流的类型,参看 MediaStreamType。

注意 当房间内的远端用户调用 publishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeScreen 订阅此流。

onUserUnPublishScreen

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 取消订阅此流。

onLocalStreamStats

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalStreamStats(
    IRTCEngineEventHandler.LocalStreamStats stats)

反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调。
本地用户发布音视频流成功后,每隔 2s 收到此回调。

传入参数

参数名 类型 说明
stats IRTCEngineEventHandler.LocalStreamStats 音视频流以及网络状况统计信息。参见 LocalStreamStats。

onRemoteStreamStats

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteStreamStats(
    IRTCEngineEventHandler.RemoteStreamStats stats)

反映通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况的回调。每隔 2s 收到此回调。

传入参数

参数名 类型 说明
stats IRTCEngineEventHandler.RemoteStreamStats 音视频流以及网络状况统计信息。参见 RemoteStreamStats。

onFirstLocalAudioFrame

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstLocalAudioFrame(
    StreamIndex streamIndex)

本地采集到第一帧音频帧时,收到该回调。

传入参数

参数名 类型 说明
streamIndex StreamIndex 音频流属性, 详见 StreamIndex

onFirstRemoteAudioFrame

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstRemoteAudioFrame(
    RemoteStreamKey remoteStreamKey)

接收到来自远端某音频流的第一帧时,收到该回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端音频流信息, 详见 RemoteStreamKey

注意 用户刚收到房间内订阅的每一路音频流时,都会收到该回调。

onStreamSubscribed

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

注意 本地用户收到该回调的时机包括:

onRoomMessageReceived

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomMessageReceived(
    String uid,
    String message)

接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者 ID
message String 收到的消息内容

onRoomBinaryMessageReceived

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomBinaryMessageReceived(
    String uid,
    ByteBuffer message)

接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者 ID
message ByteBuffer 收到的二进制消息内容

onUserMessageReceived

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserMessageReceived(
    String uid,
    String message)

收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者的用户 ID 。
message String 收到的文本消息内容。

onUserBinaryMessageReceived

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserBinaryMessageReceived(
    String uid,
    ByteBuffer message)

收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。

传入参数

参数名 类型 说明
uid String 消息发送者的用户 ID 。
message ByteBuffer 收到的二进制消息内容。

onUserMessageSendResult

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserMessageSendResult(
    long msgid,
    int error)

向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名 类型 说明
msgid long 本条消息的 ID。
error int 文本或二进制消息发送结果,详见 UserMessageSendResult

注意 调用 sendUserMessage 或 sendUserBinaryMessage 接口,才能收到此回调。

onRoomMessageSendResult

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRoomMessageSendResult(
    long msgid,
    int error)

调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名 类型 说明
msgid long 本条消息的 ID。
error int 消息发送结果,详见 RoomMessageSendResult

onFirstLocalVideoFrameCaptured

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstLocalVideoFrameCaptured(
    StreamIndex streamIndex,
    VideoFrameInfo videoFrameInfo)

第一帧本地采集的视频/屏幕共享画面采集完成时,收到此回调。

传入参数

参数名 类型 说明
streamIndex StreamIndex 流属性,参看 StreamIndex
videoFrameInfo VideoFrameInfo 视频信息,参看 VideoFrameInfo

onLocalVideoSizeChanged

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalVideoSizeChanged(
    StreamIndex streamIndex,
    VideoFrameInfo frameInfo)

本地视频大小或旋转信息发生改变时,收到此回调。

传入参数

参数名 类型 说明
streamIndex StreamIndex 流属性,参看 StreamIndex
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onRemoteVideoSizeChanged

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteVideoSizeChanged(
    RemoteStreamKey remoteStreamKey,
    VideoFrameInfo frameInfo)

远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端流信息,参看 StreamIndex
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onFirstRemoteVideoFrameRendered

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstRemoteVideoFrameRendered(
    RemoteStreamKey remoteStreamKey,
    VideoFrameInfo frameInfo)

SDK 内部渲染成功远端视频流首帧后,收到此回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端流信息,参看 RemoteStreamKey
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onFirstRemoteVideoFrameDecoded

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onFirstRemoteVideoFrameDecoded(
    RemoteStreamKey remoteStreamKey,
    VideoFrameInfo frameInfo)

SDK 接收并解码远端视频流首帧后,收到此回调。

传入参数

参数名 类型 说明
remoteStreamKey RemoteStreamKey 远端流信息,参看 RemoteStreamKey
frameInfo VideoFrameInfo 视频帧信息,参看 VideoFrameInfo

onUserStartVideoCapture

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStartVideoCapture(
    String uid)

房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 开启视频采集的远端用户 ID

onUserStopVideoCapture

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStopVideoCapture(
    String uid)

房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 关闭视频采集的远端用户 ID

onUserStartAudioCapture

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStartAudioCapture(
    String uid)

房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 开启音频采集的远端用户 ID

onUserStopAudioCapture

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onUserStopAudioCapture(
    String uid)

房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
uid String 关闭音频采集的远端用户 ID

onVideoStreamBanned

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onVideoStreamBanned(
    String uid,
    boolean banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。

传入参数

参数名 类型 说明
uid String 被禁用/解禁的视频流用户 ID
banned boolean 视频流发送状态
• true: 视频流发送被禁用
• false: 视频流发送被解禁

注意

onAudioStreamBanned

public abstract void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAudioStreamBanned(
    String uid,
    boolean banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。

传入参数

参数名 类型 说明
uid String 被禁用/解禁的音频流用户 ID
banned boolean 音频流发送状态
• true: 音频流发送被禁用
• false: 音频流发送被解禁

注意

onLocalAudioStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalAudioStateChanged(
    LocalAudioStreamState state,
    LocalAudioStreamError error)

本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。

传入参数

参数名 类型 说明
state LocalAudioStreamState 本地音频设备的状态,详见 LocalAudioStreamState
error LocalAudioStreamError 本地音频流状态改变时的错误码,详见 LocalAudioStreamError

onRemoteAudioStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onRemoteAudioStateChanged(
    RemoteStreamKey key,
    RemoteAudioState state,
    RemoteAudioStateChangeReason reason)

用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。

传入参数

参数名 类型 说明
key RemoteStreamKey 远端流信息, 详见 RemoteStreamKey
state RemoteAudioState 远端音频流状态,详见 RemoteAudioState
reason RemoteAudioStateChangeReason 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason

onLocalVideoStateChanged

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

onRemoteVideoStateChanged

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

onSimulcastSubscribeFallback

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onSimulcastSubscribeFallback(
    IRTCEngineEventHandler.RemoteStreamSwitch event)

音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。

传入参数

参数名 类型 说明
event IRTCEngineEventHandler.RemoteStreamSwitch 音视频流发生变化的信息。参看 RemoteStreamSwitch。

onAudioFrameSendStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAudioFrameSendStateChanged(
    IRTCEngineEventHandler.RtcUser user,
    IRTCEngineEventHandler.FirstFrameSendState state)

本地音频首帧发送状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user IRTCEngineEventHandler.RtcUser 本地用户信息,详见 RtcUser
state IRTCEngineEventHandler.FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

onVideoFrameSendStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onVideoFrameSendStateChanged(
    IRTCEngineEventHandler.RtcUser user,
    IRTCEngineEventHandler.FirstFrameSendState state)

本地视频首帧发送状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user IRTCEngineEventHandler.RtcUser 本地用户信息,详见 RtcUser
state IRTCEngineEventHandler.FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

onScreenVideoFrameSendStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onScreenVideoFrameSendStateChanged(
    IRTCEngineEventHandler.RtcUser user,
    IRTCEngineEventHandler.FirstFrameSendState state)

屏幕共享流的视频首帧发送状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user IRTCEngineEventHandler.RtcUser 本地用户信息,详见 RtcUser
state IRTCEngineEventHandler.FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

onAudioFramePlayStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onAudioFramePlayStateChanged(
    IRTCEngineEventHandler.RtcUser user,
    IRTCEngineEventHandler.FirstFramePlayState state)

音频首帧播放状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user IRTCEngineEventHandler.RtcUser 远端用户信息,详见 RtcUser
state IRTCEngineEventHandler.FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

onVideoFramePlayStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onVideoFramePlayStateChanged(
    IRTCEngineEventHandler.RtcUser user,
    IRTCEngineEventHandler.FirstFramePlayState state)

视频首帧播放状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user IRTCEngineEventHandler.RtcUser 远端用户信息,详见 RtcUser
state IRTCEngineEventHandler.FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

onScreenVideoFramePlayStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onScreenVideoFramePlayStateChanged(
    IRTCEngineEventHandler.RtcUser user,
    IRTCEngineEventHandler.FirstFramePlayState state)

屏幕共享流视频首帧播放状态发生改变时,收到此回调

传入参数

参数名 类型 说明
user IRTCEngineEventHandler.RtcUser 远端用户信息,详见 RtcUser
state IRTCEngineEventHandler.FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

onForwardStreamStateChanged

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onForwardStreamStateChanged(
    ForwardStreamStateInfo[] stateInfos)

跨房间媒体流转发状态和错误回调

传入参数

参数名 类型 说明
stateInfos ForwardStreamStateInfo[] 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo

onForwardStreamEvent

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onForwardStreamEvent(
    ForwardStreamEventInfo[] eventInfos)

跨房间媒体流转发事件回调

传入参数

参数名 类型 说明
eventInfos ForwardStreamEventInfo[] 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo

onPushPublicStreamResult

public void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onPushPublicStreamResult(
    String publicStreamId,
    int errorCode)

公共流发布结果回调。
调用 startPushPublicStream 接口发布公共流后,启动结果通过此回调方法通知用户。

传入参数

参数名 类型 说明
publicStreamId String 公共流 ID
errorCode int 公共流发布结果状态码。
200: 发布成功