joinMeeting method

  1. @override
Future<JitsiMeetingResponse> joinMeeting(
  1. JitsiMeetingOptions options, {
  2. JitsiMeetingListener? listener,
})
override

Joins a meeting based on the JitsiMeetingOptions passed in. A JitsiMeetingListener can be attached to this meeting that will automatically be removed when the meeting has ended

Implementation

@override
Future<JitsiMeetingResponse> joinMeeting(
  JitsiMeetingOptions options, {
  JitsiMeetingListener? listener,
}) async {
  _listener = listener;
  if (!_eventChannelIsInitialized) {
    _initialize();
  }

  Map<String, dynamic> _options = {
    'room': options.room.trim(),
    'serverURL': options.serverURL?.trim(),
    'subject': options.subject?.trim(),
    'token': options.token,
    'audioMuted': options.audioMuted,
    'audioOnly': options.audioOnly,
    'videoMuted': options.videoMuted,
    'userAvatarURL': options.userAvatarURL,
    'userDisplayName': options.userDisplayName,
    'userEmail': options.userEmail,
    'iosAppBarRGBAColor': options.iosAppBarRGBAColor,
    'featureFlags': options.getFeatureFlags(),
  };

  return await _methodChannel
      .invokeMethod<String>('joinMeeting', _options)
      .then((message) {
    return JitsiMeetingResponse(isSuccess: true, message: message);
  }).catchError((error) {
    return JitsiMeetingResponse(
      isSuccess: false,
      message: error.toString(),
      error: error,
    );
  });
}