IRTSEventHandler
public abstract class com.ss.bytertc.rts.engine.handler.IRTSEventHandler
java

RTS engine event callback handler

成员函数
返回名称
voidonSysStats
voidonNetworkTypeChanged
voidonCreateRoomStateChanged
voidonConnectionStateChanged
voidonLogReport
voidonLoginResult
voidonLogout
voidonServerParamsSetResult
voidonGetPeerOnlineStatus
voidonMessageReceived
voidonBinaryMessageReceived
voidonMessageSendResult
voidonServerMessageSendResult
voidonLocalProxyStateChanged
函数说明

onSysStats
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onSysStats(
    SysStats stats)
java

通知当前 cpu、内存使用信息的回调,每 2s 回调一次。

传入参数

参数名类型说明
statsSysStatscpu、内存信息。详见 SysStats 数据类型。

onNetworkTypeChanged
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onNetworkTypeChanged(
    int type)
java

SDK 当前网络连接类型改变的回调。

传入参数

参数名类型说明
typeint网络类型:
• -1: 网络连接类型未知。
• 0: 网络连接已断开。
• 1: LAN
• 2: Wi-Fi,包含热点
• 3: 2G 移动网络
• 4: 3G 移动网络
• 5: 4G 移动网络
• 6: 5G 移动网络

onCreateRoomStateChanged
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onCreateRoomStateChanged(
    String roomId,
    int errorCode)
java

创建房间失败回调。

传入参数

参数名类型说明
roomIdString房间 ID。
errorCodeint创建房间错误码:
• -1007:无效 roomId;
• -1013:相同 roomId 的房间已存在。

onConnectionStateChanged
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onConnectionStateChanged(
    int state,
    int reason)
java

SDK 与信令服务器的网络连接状态改变时的回调。

传入参数

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

注意
更多信息参见 连接状态提示。

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

上报日志时回调该事件。

传入参数

参数名类型说明
logTypeString日志类型。
logContentJSONObject日志内容。

onLoginResult
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLoginResult(
    String uid,
    int error_code,
    int elapsed)
java

登录 RTS 服务器结果回调。

传入参数

参数名类型说明
uidString登录用户 ID。
error_codeint登录结果,详见 LoginErrorCode。
elapsedint从调用 login 接口开始到返回结果所用时长,单位为 ms。

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

onLogout
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLogout()
java

登出结果回调。

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

onServerParamsSetResult
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onServerParamsSetResult(
    int error)
java

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

传入参数

参数名类型说明
errorint设置结果:
• 200:设置成功;
• 其他:设置失败。

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

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

查询本地或远端用户登录状态的结果回调。

传入参数

参数名类型说明
peerUserIdString需要查询的用户 ID
statusint查询的用户登录状态,详见 UserOnlineStatus.

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

onMessageReceived
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onMessageReceived(
    String uid,
    String message)
java

收到远端用户调用 sendMessage 发来的文本消息时,会收到此回调。

传入参数

参数名类型说明
uidString消息发送者 ID。
messageString收到的文本消息内容。

onBinaryMessageReceived
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onBinaryMessageReceived(
    String uid,
    ByteBuffer message)
java

收到远端用户调用 sendBinaryMessage 发来的二进制消息时,会收到此回调。

传入参数

参数名类型说明
uidString消息发送者 ID。
messageByteBuffer收到的二进制消息内容。

onMessageSendResult
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onMessageSendResult(
    long msgid,
    int error)
java

发送 p2p 消息的结果回调。

传入参数

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

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

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

发送 p2server 消息的结果回调。

传入参数

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

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

onLocalProxyStateChanged
public void com.ss.bytertc.rts.engine.handler.IRTSEventHandler.onLocalProxyStateChanged(
    LocalProxyType localProxyType,
    LocalProxyState localProxyState,
    LocalProxyError localProxyError)
java

本地代理状态发生改变回调。调用 setLocalProxy 设置本地代理后,SDK 会触发此回调,通知代理连接的状态。

传入参数

参数名类型说明
localProxyTypeLocalProxyType本地代理类型。参看 LocalProxyType 。
localProxyStateLocalProxyState本地代理状态。参看 LocalProxyState。
localProxyErrorLocalProxyError本地代理错误。参看 LocalProxyError。
IRTSRoomEventHandler
public abstract class com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler
java

RTS room event callback handler

成员函数
返回名称
abstract voidonLeaveRoom
abstract voidonRoomStateChanged
abstract voidonUserJoined
abstract voidonUserLeave
abstract voidonRoomMessageReceived
abstract voidonRoomBinaryMessageReceived
abstract voidonRoomMessageSendResult
函数说明

onLeaveRoom
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onLeaveRoom()
java

离开房间成功回调。

用户调用 leaveRoom 方法后,SDK 会停止房间内消息的收发,并在释放所有相关资源后,通过此回调通知用户离开房间成功。

注意
用户调用 leaveRoom 方法离开房间后,如果立即调用 destroyRTS 方法销毁 RTC 引擎,则将无法收到此回调事件。

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

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

传入参数

参数名类型说明
roomIdString房间 ID。
uidString用户 ID。
stateint房间状态码。
• 0: 加入房间成功。
• !0: 加入房间失败、异常退房、发生房间相关的警告或错误。具体原因参看 ErrorCode 及 WarningCode。
extraInfoString额外信息,如 {"elapsed":1187,"join_type":0}。
join_type 表示加入房间的类型,0为首次进房,1为重连进房。
elapsed 表示加入房间耗时,即本地用户从调用 joinRoom 到加入房间成功所经历的时间间隔,单位为 ms。

onUserJoined
public abstract void com.ss.bytertc.rts.engine.handler.IRTSRoomEventHandler.onUserJoined(
    String uid,
    int elapsed)
java

远端用户首次进房,或断网后重新连入房间时,房间内其他用户将收到该事件。

传入参数

参数名类型说明
uidString加入房间的用户 ID
elapsedint远端用户调用 joinRoom 加入房间到房间内其他用户收到该事件经历的时间,单位为 ms。

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

远端用户离开房间时,本地用户会收到此事件

传入参数

参数名类型说明
uidString离开房间的远端用户 ID。
reasonint用户离开房间的原因:
• 0: 远端用户调用 leaveRoom 主动退出房间。
• 1: 远端用户因 Token 过期或网络原因等掉线。
• 2: 服务端调用 OpenAPI 将该远端用户踢出房间。

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

接收到房间内广播消息的回调。

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

传入参数

参数名类型说明
uidString消息发送者 ID
messageString收到的消息内容

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

接收到房间内广播二进制消息的回调。

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

传入参数

参数名类型说明
uidString消息发送者 ID
messageByteBuffer收到的二进制消息内容

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

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

传入参数

参数名类型说明
msgidlong本条消息的 ID。
errorint消息发送结果,详见 RoomMessageSendResult