joinRoom method

Future<RCRTCCodeResult<RCRTCRoom>> joinRoom({
  1. required String roomId,
  2. required RCRTCRoomConfig roomConfig,
})

Implementation

Future<RCRTCCodeResult<RCRTCRoom>> joinRoom({
  required String roomId,
  required RCRTCRoomConfig roomConfig,
}) async {
  Map<String, dynamic> configMap = roomConfig.toJson();
  Map<String, dynamic> roomMap = {'roomId': roomId, 'roomConfig': configMap};
  String? jsonStr = await _channel.invokeMethod('joinRoom', roomMap);
  Map<String, dynamic> jsonObj = jsonDecode(jsonStr!);
  print("joinRoom json: ${jsonObj.toString()}");

  int? ret = jsonObj["code"];
  int code = ret ?? -1;
  RCRTCCodeResult<RCRTCRoom> result = RCRTCCodeResult(code);
  if (code == 0) {
    _room = RCRTCRoom.fromJson(jsonObj['data']);
    result.object = _room;
  } else {
    result.reason = jsonObj['data'];
  }
  return result;
}