rtcRoom$onRoomStateChangedWithReason$withUid$state$reason method

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

@hidden @detail callback @author shenpengliang @brief 房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。 @param rtcRoom ByteRTCAudioRoom 实例 @param roomId 房间 ID。 @param uid 用户 ID。 @param state 房间状态码。
- 0: 加入房间成功。 - 1: 加入房间失败、异常退房、发生房间相关的警告或错误。 - 2: 离开房间。 @param reason 房间状态发生变化的原因。参看 ByteRTCRoomStateChangeReason{@link #ByteRTCRoomStateChangeReason}。

Implementation

FutureOr<void> rtcRoom$onRoomStateChangedWithReason$withUid$state$reason(
    dynamic rtcRoom,
    dynamic roomId,
    dynamic uid,
    dynamic state,
    dynamic reason) async {
  if ($instance == null || $instance is! IRTCRoomEventHandler) {
    return;
  }
  return ($instance as IRTCRoomEventHandler)
      .onRoomStateChangedWithReason
      ?.call(
          roomId.toString(),
          uid.toString(),
          t_RoomState.ios_to_code($p_i.ByteRTCRoomState.values
              .firstWhere((t) => t.$value == state || t.name == state)),
          t_RoomStateChangeReason.ios_to_code($p_i
              .ByteRTCRoomStateChangeReason.values
              .firstWhere((t) => t.$value == reason || t.name == reason)));
}