Flutter Client SDK to LiveKit.
- Active speakers changed. List of speakers are ordered by their audio level. loudest speakers first. This will include the LocalParticipant too.
- Options used when creating a LocalAudioTrack.
- Options used when publishing audio.
- Options used when creating a LocalVideoTrack that captures the camera.
- Options used when connecting to the server.
- Data received from RemoteParticipant. Data packets provides the ability to use LiveKit to send/receive arbitrary payloads. Emitted by Room and RemoteParticipant.
This will enable the local participant to publish tracks on connect,
instead of having to explicitly publish them.
Defaults to false for all three tracks: microphone, camera, and screen.
You can also create LocalAudio/VideoTrack on your
PreJoinpage (preview camera or select audio device), Automatically publish these tracks after the room is connected.
- LiveKitClient Room
- Main entry point to connect to a room.
- Represents the current participant in the room. Instance of LocalParticipant is automatically created after successfully connecting to a Room and will be accessible from Room.localParticipant.
- Base class for LocalAudioTrack and LocalVideoTrack.
- Base class for track options.
T extends LocalTrack>
- A TrackPublication which belongs to the LocalParticipant.
- When the local participant publishes a new Track to the room. Emitted by Room and LocalParticipant.
- The local participant has unpublished one of their Track. Emitted by Room and LocalParticipant.
- A video track from the local device. Use static methods in this class to create video tracks.
T extends TrackPublication< Track>>
- Represents a Participant in the room, notifies changes via delegates as well as ChangeNotifier/providers. A change notification is triggered when
- When a new RemoteParticipant joins after the current participant has connected It will not fire for participants that are already in the room Emitted by Room.
Pariticpant's ConnectionQuality has updated. Emitted by Room and Participant.
- When a RemoteParticipant leaves the room Emitted by Room.
- Participant metadata is a simple way for app-specific state to be pushed to all users. When RoomService.UpdateParticipantMetadata is called to change a Participant's state, all Participants in the room will fire this event. Emitted by Room and Participant.
- The ParticipantPermissions updated for the Participant. Currently, only for LocalParticipant. Emitted by Room and LocalParticipant.
- Represents other participant in the Room.
T extends RemoteTrack>
- Represents a track publication from a RemoteParticipant. Provides methods to control if we should subscribe to the track, and its quality (for video).
- Room Room
- Room is the primary construct for LiveKit conferences. It contains a group of Participants, each publishing and subscribing to Tracks. Notifies changes to its state via two ways, by assigning a delegate, or using it as a provider. Room will trigger a change notification update when
- Disconnected from the room Emitted by Room.
- Room metadata has changed. Emitted by Room.
- RoomOptions Room
Options used to modify the behavior of the
- Connection to room is re-established. All existing state is preserved. Emitted by Room.
- When the connection to the server has been interrupted and it's attempting to reconnect. Emitted by Room.
- Room recording status has changed. Emitted by Room.
- Options used when creating a LocalVideoTrack that captures the screen.
- The participant's isSpeaking property has changed Emitted by Participant.
- Wrapper around a MediaStreamTrack with additional metadata. Base for AudioTrack and VideoTrack, can not be instantiated directly.
- The E2EEState on the track. Emitted by E2EEManager.
- A Participant has muted one of the track. Emitted by RemoteParticipant and LocalParticipant.
E extends Object, T extends Object>
T extends Track>
- Represents a track that's published to the server. This class contains metadata associated with tracks.
- When a new Track is published to Room after the current participant has joined. It will not fire for tracks that are already published. Emitted by Room and RemoteParticipant.
- The StreamState on the RemoteTrackPublication has updated by the server. See RemoteTrackPublication.streamState for more information. Emitted by Room and RemoteParticipant.
- LocalParticipant has subscribed to a new track published by a RemoteParticipant. Emitted by Room and RemoteParticipant.
- An error has occured during track subscription. Emitted by Room and RemoteParticipant.
- One of subscribed tracks have changed its permissions for the current participant. If permission was revoked, then the track will no longer be subscribed. If permission was granted, a TrackSubscribed event will be emitted.
- This participant has unmuted one of their tracks Emitted by RemoteParticipant and LocalParticipant.
- The participant has unpublished one of their Track. Emitted by Room and RemoteParticipant.
- The LocalParticipant has unsubscribed from a track published by a RemoteParticipant. This event is fired when the track was unpublished. Emitted by Room and RemoteParticipant.
- Base class for options when creating a LocalVideoTrack.
- A simple class that represents dimensions of video.
- A type that represents video encoding information.
- Options used when publishing video.
- Widget that renders a VideoTrack.
- Used to group LocalAudioTrack and RemoteAudioTrack.
Base type for all
- Base type for all LiveKit events.
- Base type for all Participant events.
- Base type for all Room events.
Base type for all
- Base type for all Track events.
- Used to group LocalVideoTrack and RemoteVideoTrack.
- Convenience extension for CameraPosition.
- Room extension methods for managing audio, video.
- Convenience extension for VideoEncoding.
) → void
- disable logging
) → Level
- get the current logging level
String codec) → bool
) → BrowserType
) → BrowserVersion
) → PlatformType
PlatformType type) → bool
) → bool
) → bool
) → bool
) → bool
LoggerLevel level) → void
- set the logging level
- A type that represents front or back of the camera.
- Connection quality between the Participant and server.
- Connection state type used throughout the SDK.
- Protocol version to use when connecting to server. Usually it's not recommended to change this.
- Reliability used for publishing data through data channel.
- The iceTransportPolicy used for RTCConfiguration. See https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection
- The state of track data stream. This is controlled by server to optimize bandwidth.
- The reason why a track failed to publish.
- CancelListenFunc = dynamic Function()
Exceptions / Errors
- An exception occured while attempting to connect. Common reasons:
- Failed to publish data. Common reasons:
- An exception for End to End Encryption.
- Base class for Exceptions thrown by the LiveKit SDK
- Exception thrown when pc negotiation fails.
- A certain time has passed while attempting to execute an operation.
- Failed to create a local track. Common reasons:
- Failed to publish a local track. Common reasons:
- An internal state of the SDK is not correct and can not continue to execute. This should not occur frequently.