jitsi_meet

Jitsi Meet Plugin for Flutter. Supports Android and iOS platforms.

"Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences."

Find more information about Jitsi Meet here

Getting Started

Android

Jitsi Meet's SDK AndroidManifest.xml will conflict with your project, namely the application:label field. To counter that, go into android/app/src/main/AndroidManifest.xml and add the tools library and tools:replace="android:label" to the application tag.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="yourpackage.com"
    xmlns:tools="http://schemas.android.com/tools"> <!-- Add this -->
    <application 
        tools:replace="android:label"  
        android:name="your.application.name"
        android:label="My Application"
        android:icon="@mipmap/ic_launcher">

Code

_joinMeeting() async {
    try {
      var options = JitsiMeetingOptions()
        ..room = "myroom" // Required, spaces will be trimmed
        ..serverURL = "https://someHost.com"
        ..subject = "Meeting with Gunschu"
        ..userDisplayName = "My Name"
        ..userEmail = "myemail@email.com"
        ..audioOnly = true
        ..audioMuted = true
        ..videoMuted = true;

      await JitsiMeet.joinMeeting(options);
    } catch (error) {
      debugPrint("error: $error");
    }
  }

JitsiMeetingOptions

FieldRequiredDefaultDescription
roomYesN/AUnique room name that will be appended to serverURL. Valid characters: alphanumeric, dashes, and underscores.
subjectNo$roomMeeting name displayed at the top of the meeting. If null, defaults to room name where dashes and underscores are replaced with spaces and first characters are capitalized.
userDisplayNameNo"Fellow Jitster"User's display name
userEmailNononeUser's email address
audioOnlyNofalseStart meeting without video. Can be turned on in meeting.
audioMutedNofalseStart meeting with audio muted. Can be turned on in meeting.
videoMutedNofalseStart meeting with video muted. Can be turned on in meeting.
serverURLNomeet.jitsi.siSpecify your own hosted server. Must be a valid absolute URL of the format <scheme>://<host>[/path], i.e. https://someHost.com. Defaults to Jitsi Meet's servers.
userAvatarURLN/AnoneNot yet implemented. User's avatar URL.
tokenN/AnoneNot yet implemented. JWT token used for authentication.

JitsiMeetingResponse

FieldTypeDescription
isSuccessboolSuccess indicator.
messageStringSuccess message or error as a String.
errordynamicOptional, only exists if isSuccess is false. The error object.

Title bar

When Jitsi Meet is opening, the title bar will reflect:

  • For Android: the android:label tag in the AndroidManifest.xml in
  • For iOS: the Bundle name in Info.plist

Contributing

Send a pull request with as much information as possible clearly describing the issue or feature. Try to keep changes small and for one issue at a time.

Libraries

jitsi_meet