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 |
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。 |
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onLeaveRoom(
String roomId)
离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后通过此回调通知用户。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
注意
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onUserJoined(
String roomId,
String userId)
远端用户加入房间回调。
以下情形下,本地用户会收到此回调:
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| userId | String | 用户 ID |
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。 |
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: 关闭麦克风 |
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: 停止音频发送 |
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: 停止接收远端音频 |
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]。 |
注意
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onConnectionStateChanged(
IGameRTCEventHandler.ConnectionState state)
用户与 RTC 服务器连接状态发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | IGameRTCEventHandler.ConnectionState | 用户当前与 RTC 服务器的连接状态,参看 ConnectionState。 |
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。 |
注意
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onLogReport(
String logType,
JSONObject logContent)
上报日志时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| logType | String | 日志类型。 |
| logContent | JSONObject | 日志内容。 |
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onEngineWarning(
IGameRTCEventHandler.EngineWarnCode warn)
SDK 运行时出现了引擎相关的警告时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | IGameRTCEventHandler.EngineWarnCode | 警告代码,参看 EngineWarnCode。 |
注意 通常情况下,SDK上报的警告信息App可以忽略,SDK会自动恢复。
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onRoomWarning(
String roomId,
IGameRTCEventHandler.RoomWarnCode warn)
SDK 运行时,出现房间相关警告,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| warn | IGameRTCEventHandler.RoomWarnCode | 警告代码,参看 RoomWarnCode。 |
注意 通常情况下,SDK 上报的警告信息可以忽略,SDK 能够自动恢复。
public void com.ss.bytertc.engine.handler.IGameRTCEventHandler.onRoomError(
String roomId,
IGameRTCEventHandler.RoomErrorCode err)
房间相关错误回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| err | IGameRTCEventHandler.RoomErrorCode | 错误代码,参看 RoomErrorCode。 |