startMeeting method

  1. @override
Future<bool> startMeeting(
  1. ZoomMeetingOptions options
)
override

Implementation

@override
Future<bool> startMeeting(ZoomMeetingOptions options) async {
  assert(options.zoomAccessToken != null);
  assert(options.displayName != null);
  var optionMap = new Map<String, String>();
  optionMap.putIfAbsent("userId", () => options.userId);
  optionMap.putIfAbsent("displayName", () => options.displayName!);
  optionMap.putIfAbsent("meetingId", () => options.meetingId);
  optionMap.putIfAbsent("meetingPassword", () => options.meetingPassword);
  optionMap.putIfAbsent("zoomAccessToken", () => options.zoomAccessToken!);
  optionMap.putIfAbsent("disableDialIn", () => options.disableDialIn);
  optionMap.putIfAbsent("disableDrive", () => options.disableDrive);
  optionMap.putIfAbsent("disableInvite", () => options.disableInvite);
  optionMap.putIfAbsent("disableShare", () => options.disableShare);
  optionMap.putIfAbsent("noDisconnectAudio", () => options.noDisconnectAudio);
  optionMap.putIfAbsent("noAudio", () => options.noAudio);
  optionMap.putIfAbsent("meetingName", () => options.meetingName ?? "");

  if (options.meetingViewOptions != null) {
    optionMap.putIfAbsent(
        "meetingViewOptions", () => options.meetingViewOptions!.toString());
  }

  return channel
      .invokeMethod<bool>('start', optionMap)
      .then<bool>((bool? value) => value ?? false);
}