rtcRoom$onRoomStateChanged$withUid$state$extraInfo method

FutureOr<void> rtcRoom$onRoomStateChanged$withUid$state$extraInfo(
  1. dynamic rtcRoom,
  2. dynamic roomId,
  3. dynamic uid,
  4. dynamic state,
  5. dynamic extraInfo,
)
override

@detail callback @region 多房间 @author shenpengliang @brief 房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。 @param rtcRoom ByteRTCAudioRoom 实例 @param roomId 房间 ID。 @param uid 用户 ID。 @param state 房间状态码。
- 0: 加入房间成功。 - !0: 加入房间失败、异常退房、发生房间相关的警告或错误。具体原因参看 ByteRTCErrorCode{@link #ByteRTCErrorCode} 及 ByteRTCWarningCode{@link #ByteRTCWarningCode}。 @param extraInfo 额外信息,如 {"elapsed":1187,"join_type":0}
join_type表示加入房间的类型,0为首次进房,1为重连进房。
elapsed表示加入房间耗时,即本地用户从调用 joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} 到加入房间成功所经历的时间间隔,单位为 ms。 @order 0

Implementation

FutureOr<void> rtcRoom$onRoomStateChanged$withUid$state$extraInfo(
    dynamic rtcRoom,
    dynamic roomId,
    dynamic uid,
    dynamic state,
    dynamic extraInfo) async {
  if ($instance == null || $instance is! IRTCRoomEventHandler) {
    return;
  }
  return ($instance as IRTCRoomEventHandler).onRoomStateChanged?.call(
      roomId.toString(),
      uid.toString(),
      int.tryParse(state.toString()) ?? 0,
      extraInfo.toString());
}