IGameRTCEventHandler

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

GameRTC 回调接口

成员函数

返回 名称
void onJoinRoomResult
void onLeaveRoom
void onUserJoined
void onUserLeave
void onMicrophoneEnabled
void onAudioSendEnabled
void onSpeakerphoneEnabled
void onAudioVolumeIndication
void onConnectionStateChanged
void onNetworkQuality
void onLogReport
void onEngineWarning
void onRoomWarning
void onRoomError

函数说明

onJoinRoomResult

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onJoinRoomResult(
    String roomId,
    String userId,
    IGameRTCEventHandler.JoinRoomErrorCode errorCode,
    boolean isRejoined,
    int elapsed)

用户首次成功加入房间/重连进房后,收到此回调。此回调事件在用户调用 joinRoom 方法加入房间到用户调用 leaveRoom 方法离开房间期间可能回调多次。

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 用户 ID
errorCode IGameRTCEventHandler.JoinRoomErrorCode 用户加入房间回调的状态码:
• 0: 成功
• !0: 失败
• 具体原因参考错误码 JoinRoomErrorCode 以及警告码 RoomWarnCode。
isRejoined boolean 是否为重连进房。
• true: 断网重连后 SDK 内部自动进房;
• false: 首次进房。
elapsed int 加入房间耗时。用户从调用 joinRoom 方法到加入房间成功所经历的时间间隔,单位为 ms。

onLeaveRoom

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onLeaveRoom(
    String roomId)

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

传入参数

参数名 类型 说明
roomId String 房间 ID

注意

onUserJoined

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onUserJoined(
    String roomId,
    String userId)

远端用户加入房间回调。
以下情形下,本地用户会收到此回调:

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 用户 ID

onUserLeave

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onUserLeave(
    String roomId,
    String userId,
    IGameRTCEventHandler.UserLeaveReasonType reason)

远端用户离开房间回调。 房间中有用户主动调用 leaveRoom 方法离开房间或断线超时离开房间时,房间中其他用户都会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 用户 ID
reason IGameRTCEventHandler.UserLeaveReasonType 用户离开的原因,具体参看 UserLeaveReasonType。

onMicrophoneEnabled

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onMicrophoneEnabled(
    String roomId,
    String userId,
    boolean enable)

远端用户开关麦克风回调。
当用户调用 enableMicrophone 更改本地音频采集和发布状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 更改本地音频采集和发布状态的用户的 ID
enable boolean 是否开启麦克风
• true: 打开麦克风
• false: 关闭麦克风

onAudioSendEnabled

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onAudioSendEnabled(
    String roomId,
    String userId,
    boolean enable)

远端用户启停音频数据发送的回调。
当用户调用 enableAudioSend 更改本地音频发送状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 更改本地音频发送状态的用户的 ID
enable boolean 是否开启音频发送
• true: 开启音频发送
• false: 停止音频发送

onSpeakerphoneEnabled

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onSpeakerphoneEnabled(
    String roomId,
    String userId,
    boolean enable)

远端用户启停音频数据接收的回调。
当用户调用 enableSpeakerphone 更改远端音频接收状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 更改远端音频接收状态的用户的 ID
enable boolean 是否接收远端音频
• true: 开启接收远端音频
• false: 停止接收远端音频

onAudioVolumeIndication

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onAudioVolumeIndication(
    String roomId,
    IGameRTCEventHandler.AudioVolumeInfoArray speakers,
    int totalVolume)

提示本地采集的音量信息和在房间内订阅的远端用户的音量信息。

传入参数

参数名 类型 说明
roomId String 房间 ID
speakers IGameRTCEventHandler.AudioVolumeInfoArray 本地用户和订阅的远端用户的 ID 和音量。参看 AudioVolumeInfoArray。
totalVolume int speakers 中包含的所有音频音量之和,取值范围是: [0,255]。

注意

onConnectionStateChanged

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onConnectionStateChanged(
    IGameRTCEventHandler.ConnectionState state)

用户与 RTC 服务器连接状态发生改变时,收到此回调。

传入参数

参数名 类型 说明
state IGameRTCEventHandler.ConnectionState 用户当前与 RTC 服务器的连接状态,参看 ConnectionState。

onNetworkQuality

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onNetworkQuality(
    String roomId,
    String userId,
    IGameRTCEventHandler.NetworkQuality txQuality,
    IGameRTCEventHandler.NetworkQuality rxQuality)

通话中用户的媒体流网络上下行质量报告回调。加入房间成功后,每隔 2 秒会触发此回调,通知房间内用户与媒体服务器之间数据交互的网络质量。

传入参数

参数名 类型 说明
roomId String 房间 ID
userId String 回调的网络质量报告所属用户的用户 ID 。
txQuality IGameRTCEventHandler.NetworkQuality 用户的媒体流上行网络质量,参看 NetworkQuality。
rxQuality IGameRTCEventHandler.NetworkQuality 用户的媒体流下行网络质量,参看 NetworkQuality。

注意

onLogReport

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

上报日志时回调该事件。

传入参数

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

onEngineWarning

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onEngineWarning(
    IGameRTCEventHandler.EngineWarnCode warn)

SDK 运行时出现了引擎相关的警告时,收到此回调。

传入参数

参数名 类型 说明
warn IGameRTCEventHandler.EngineWarnCode 警告代码,参看 EngineWarnCode。

注意 通常情况下,SDK上报的警告信息App可以忽略,SDK会自动恢复。

onRoomWarning

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onRoomWarning(
    String roomId,
    IGameRTCEventHandler.RoomWarnCode warn)

SDK 运行时,出现房间相关警告,收到此回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
warn IGameRTCEventHandler.RoomWarnCode 警告代码,参看 RoomWarnCode。

注意 通常情况下,SDK 上报的警告信息可以忽略,SDK 能够自动恢复。

onRoomError

public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onRoomError(
    String roomId,
    IGameRTCEventHandler.RoomErrorCode err)

房间相关错误回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
err IGameRTCEventHandler.RoomErrorCode 错误代码,参看 RoomErrorCode。