Monitoring Call Quality - Flutter
Monitoring the local participant’s call quality is essential to ensure a smooth and uninterrupted meeting experience. Changes in network conditions or device performance can directly affect audio and video quality. By subscribing to the qualityLimitation event accessible from the Room class, your app can detect these changes in real-time and provide immediate feedback to the participant.
Why It Matters
Even brief network congestion, low bandwidth, or high CPU usage can impact the meeting experience. Monitoring these limitations allows your app to:
- Notify the local participant of potential issues affecting audio or video quality.
- Empower the participant to take action, like switching networks or closing other heavy applications.
Example Usage
import 'package:videosdk/videosdk.dart';
late Room _room;
@override
void initState() {
super.initState();
// Create room
_room = VideoSDK.createRoom(
roomId: widget.meetingId,
token: widget.token,
displayName: "John Doe",
micEnabled: micEnabled,
camEnabled: camEnabled,
defaultCameraIndex: kIsWeb
? 0
: 1, // Index of MediaDevices used to set default camera
);
setMeetingEventListener();
// Join room
_room.join();
}
// Listening to meeting events
void setMeetingEventListener() {
_room.on(
Events.qualityLimitation,
(type, state, timestamp) {
print(
"Quality Limitation for $type in state $state at $timestamp",
);
},
);
}
API Reference
The API references for all the methods and events utilized in this guide are provided below.
Got a Question? Ask us on discord

