# enterRoom method Null safety

Future<void> enterRoom(

1. TRTCParams param,
2. int scene

)

进入房间

调用接口后，您会收到来自 TRTCCloudListener 中的 onEnterRoom(result) 回调：

如果加入成功，result 会是一个正数（result > 0），表示加入房间所消耗的时间，单位是毫秒（ms）。

如果加入失败，result 会是一个负数（result < 0），表示进房失败的错误码。

参数：

param 进房参数，请参考 trtc_cloud_def.dart文件中的TRTCParams参数定义

scene 应用场景，目前支持视频通话（VideoCall）、在线直播（Live）、语音通话（AudioCall）、语音聊天室（VoiceChatRoom）四种场景。

注意：

1.当 scene 选择为 TRTC_APP_SCENE_LIVE 或 TRTC_APP_SCENE_VOICE_CHATROOM 时，您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

2.不管进房是否成功，enterRoom 都必须与 exitRoom 配对使用，在调用 exitRoom 前再次调用 enterRoom 函数会导致不可预期的错误问题。

## Implementation

    Future<void> enterRoom(TRTCParams param, int scene) {
      if (Platform.isAndroid || Platform.isWindows) {
        return _channel.invokeMethod('enterRoom', {
          "sdkAppId": param.sdkAppId,
          "userId": param.userId,
          "userSig": param.userSig,
          "roomId": param.roomId.toString(),
          "strRoomId": param.strRoomId,
          "role": param.role,
          "streamId": param.streamId,
          "userDefineRecordId": param.userDefineRecordId,
          "privateMapKey": param.privateMapKey,
          "businessInfo": param.businessInfo,
          "scene": scene,
        });
      } else {
        return _channel.invokeMethod('enterRoom', {
          "param": jsonEncode(param),
          "scene": scene,
        });
      }
    }