enterRoom method

Future<void> enterRoom(
  1. TRTCParams param,
  2. int scene
)

进入一个音视频通话房间(以下简称"进入房间")。

调用此 API 后,您将从 TRTCCloudListener 收到 onEnterRoom(result) 回调:

如果成功进入房间,result 为正数(result > 0),表示进入房间所用的时间(毫秒)。

如果进入房间失败,result 为负数(result < 0),表示进入房间失败的错误码。

参数:

param:进入房间的参数。有关详细信息,请参见 trtc_cloud_def.dart 中的 TRTCParams 参数定义。

scene:应用场景。目前支持视频通话(VideoCall)、直播(Live)、音频通话(AudioCall)和语音聊天室(VoiceChatRoom)。

注意:

  1. 如果 scene 选择为 TRTC_APP_SCENE_LIVETRTC_APP_SCENE_VOICE_CHATROOM,则必须使用 TRTCParams 中的 role 字段指定当前用户的角色。

  2. 无论进入房间是否成功,enterRoom 必须与 exitRoom 配套使用。在调用 exitRoom 之前再次调用 enterRoom,将会出现意外的错误。

Implementation

Future<void> enterRoom(TRTCParams param, int scene) {
  if (kIsWeb || Platform.isAndroid || Platform.isWindows) {
    return _cloudChannel.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 _cloudChannel.invokeMethod('enterRoom', {
      "param": jsonEncode(param),
      "scene": scene,
    });
  }
}