rqmeet_flutter_sdk 1.0.2 copy "rqmeet_flutter_sdk: ^1.0.2" to clipboard
rqmeet_flutter_sdk: ^1.0.2 copied to clipboard

A high-level Flutter SDK for integrating RQMeet video meetings. Includes ready-to-use UI components (PreJoin, MeetingRoom) and a powerful real-time client.

RQMeet Flutter SDK #

A Flutter SDK for integrating RQMeet video meetings into mobile and web applications.

Features #

  • πŸ“Ή Video/Audio meetings
  • 🎀 Audio/Video controls
  • πŸ“± Screen sharing
  • πŸ’¬ In-meeting chat
  • πŸŽ₯ Recording support
  • πŸ”„ Real-time events
  • 🎨 Customizable UI components

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  rqmeet_flutter_sdk: ^1.0.0

Quick Start #

import 'package:rqmeet_flutter_sdk/rqmeet_flutter_sdk.dart';

// Initialize the client
final client = RQMeetClient(
  apiKey: 'your_api_key',
);

// Create a meeting
final meeting = await client.createMeeting(
  MeetingConfig(name: 'Team Standup'),
);

// Join the meeting
final room = await client.joinMeeting(
  JoinMeetingOptions(
    meetingId: meeting.id,
    participantName: 'John Doe',
  ),
);

// Listen to events
room.onParticipantJoined.listen((participant) {
  print('${participant.name} joined');
});

// Leave the meeting
await room.leave();

Usage #

Initialize Client #

final client = RQMeetClient(
  apiKey: 'your_api_key',
  baseUrl: 'https://developer.rqmeet.com', // optional
);

Create Meeting #

final meeting = await client.createMeeting(
  MeetingConfig(
    name: 'My Meeting',
    maxParticipants: 50,
    enableRecording: true,
    enableChat: true,
  ),
);

Join Meeting #

final room = await client.joinMeeting(
  JoinMeetingOptions(
    meetingId: 'meeting_id',
    participantName: 'John Doe',
    participantId: 'user_123',
    audioEnabled: true,
    videoEnabled: false,
  ),
);

Media Controls #

// Toggle audio
await room.toggleAudio();

// Toggle video
await room.toggleVideo();

// Start screen sharing
await room.startScreenShare();

// Stop screen sharing
await room.stopScreenShare();

UI Components #

// Meeting view with controls
RQMeetingView(
  room: room,
  onLeave: () => Navigator.pop(context),
);

// Video grid
RQVideoGrid(
  room: room,
  gridConfig: GridConfig(
    columns: 2,
    spacing: 8,
  ),
);

// Participant tile
RQParticipantTile(
  participant: participant,
  showName: true,
  showAudioIndicator: true,
);

// Control bar
RQControlBar(
  room: room,
  showChat: true,
  showScreenShare: true,
);

Events #

// Participant events
room.onParticipantJoined.listen((p) => print('Joined: ${p.name}'));
room.onParticipantLeft.listen((p) => print('Left: ${p.name}'));

// Connection events
room.onConnected.listen((_) => print('Connected'));
room.onDisconnected.listen((reason) => print('Disconnected: $reason'));
room.onReconnecting.listen((_) => print('Reconnecting...'));

// Track events
room.onTrackSubscribed.listen((event) => print('Track subscribed'));
room.onTrackUnsubscribed.listen((event) => print('Track unsubscribed'));

// Chat events
room.onMessageReceived.listen((msg) => print('Message: ${msg.content}'));

Permissions #

Android #

Add to AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

iOS #

Add to Info.plist:

<key>NSCameraUsageDescription</key>
<string>Camera is required for video calls</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone is required for audio calls</string>

License #

MIT

0
likes
130
points
12
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A high-level Flutter SDK for integrating RQMeet video meetings. Includes ready-to-use UI components (PreJoin, MeetingRoom) and a powerful real-time client.

Topics

#video #meeting #sdk #webrtc

License

MIT (license)

Dependencies

collection, equatable, flutter, flutter_webrtc, http, json_annotation, livekit_client, rxdart, uuid, web_socket_channel

More

Packages that depend on rqmeet_flutter_sdk