livekit_client library

Flutter Client SDK to LiveKit.

Classes

ActiveSpeakersChangedEvent
Active speakers changed. List of speakers are ordered by their audio level. loudest speakers first. This will include the LocalParticipant too.
AudioCaptureOptions
Options used when creating a LocalAudioTrack.
AudioOutputOptions
AudioPlaybackStatusChanged
AudioPreset
AudioPublishOptions
Options used when publishing audio.
AudioReceiverStatsEvent
AudioSenderStatsEvent
BackupVideoCodec
BaseKeyProvider
CameraCaptureOptions
Options used when creating a LocalVideoTrack that captures the camera.
ConnectOptions
Options used when connecting to the server.
DataReceivedEvent
Data received from RemoteParticipant. Data packets provides the ability to use LiveKit to send/receive arbitrary payloads. Emitted by Room and RemoteParticipant.
E2EEManager
E2EEOptions
EventsEmitter<T>
EventsListenable<T>
EventsListener<T>
FastConnectOptions
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 PreJoin page (preview camera or select audio device), Automatically publish these tracks after the room is connected.
Hardware
KeyInfo
KeyProvider
LiveKitClient
Main entry point to connect to a room.
LocalAudioTrack
LocalParticipant
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.
LocalTrack
Base class for LocalAudioTrack and LocalVideoTrack.
LocalTrackOptions
Base class for track options.
LocalTrackPublication<T extends LocalTrack>
A TrackPublication which belongs to the LocalParticipant.
LocalTrackPublishedEvent
When the local participant publishes a new Track to the room. Emitted by Room and LocalParticipant.
LocalTrackUnpublishedEvent
The local participant has unpublished one of their Track. Emitted by Room and LocalParticipant.
LocalVideoTrack
A video track from the local device. Use static methods in this class to create video tracks.
MediaDevice
Participant<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
ParticipantConnectedEvent
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.
ParticipantConnectionQualityUpdatedEvent
Pariticpant's ConnectionQuality has updated. Emitted by Room and Participant.
ParticipantDisconnectedEvent
When a RemoteParticipant leaves the room Emitted by Room.
ParticipantMetadataUpdatedEvent
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.
ParticipantNameUpdatedEvent
ParticipantPermissions
ParticipantPermissionsUpdatedEvent
The ParticipantPermissions updated for the Participant. Currently, only for LocalParticipant. Emitted by Room and LocalParticipant.
ParticipantTrackPermission
RemoteAudioTrack
RemoteParticipant
Represents other participant in the Room.
RemoteTrack
RemoteTrackPublication<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).
RemoteVideoTrack
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
RoomDisconnectedEvent
Disconnected from the room Emitted by Room.
RoomMetadataChangedEvent
Room metadata has changed. Emitted by Room.
RoomOptions
Options used to modify the behavior of the Room.
RoomReconnectedEvent
Connection to room is re-established. All existing state is preserved. Emitted by Room.
RoomReconnectingEvent
When the connection to the server has been interrupted and it's attempting to reconnect. Emitted by Room.
RoomRecordingStatusChanged
Room recording status has changed. Emitted by Room.
RoomRestartedEvent
RoomRestartingEvent
RTCConfiguration
RTCIceServer
ScreenSelectDialog
ScreenShareCaptureOptions
Options used when creating a LocalVideoTrack that captures the screen.
SimulcastTrackInfo
SpeakingChangedEvent
The participant's isSpeaking property has changed Emitted by Participant.
ThumbnailWidget
ThumbnailWidgetState
Timeouts
Track
Wrapper around a MediaStreamTrack with additional metadata. Base for AudioTrack and VideoTrack, can not be instantiated directly.
TrackE2EEStateEvent
The E2EEState on the track. Emitted by E2EEManager.
TrackMutedEvent
A Participant has muted one of the track. Emitted by RemoteParticipant and LocalParticipant.
TrackOption<E extends Object, T extends Object>
TrackPublication<T extends Track>
Represents a track that's published to the server. This class contains metadata associated with tracks.
TrackPublishedEvent
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.
TrackStreamStateUpdatedEvent
The StreamState on the RemoteTrackPublication has updated by the server. See RemoteTrackPublication.streamState for more information. Emitted by Room and RemoteParticipant.
TrackSubscribedEvent
LocalParticipant has subscribed to a new track published by a RemoteParticipant. Emitted by Room and RemoteParticipant.
TrackSubscriptionExceptionEvent
An error has occured during track subscription. Emitted by Room and RemoteParticipant.
TrackSubscriptionPermissionChangedEvent
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.
TrackType
TrackUnmutedEvent
This participant has unmuted one of their tracks Emitted by RemoteParticipant and LocalParticipant.
TrackUnpublishedEvent
The participant has unpublished one of their Track. Emitted by Room and RemoteParticipant.
TrackUnsubscribedEvent
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.
VideoCaptureOptions
Base class for options when creating a LocalVideoTrack.
VideoDimensions
A simple class that represents dimensions of video.
VideoEncoding
A type that represents video encoding information.
VideoParameters
VideoPublishOptions
Options used when publishing video.
VideoQuality
VideoReceiverStatsEvent
VideoSenderStatsEvent
VideoTrackRenderer
Widget that renders a VideoTrack.

Mixins

AudioTrack
Used to group LocalAudioTrack and RemoteAudioTrack.
EngineEvent
Base type for all Engine events.
EventsEmittable<T>
LiveKitEvent
Base type for all LiveKit events.
ParticipantEvent
Base type for all Participant events.
RoomEvent
Base type for all Room events.
SignalEvent
Base type for all SignalClient events.
TrackEvent
Base type for all Track events.
VideoTrack
Used to group LocalVideoTrack and RemoteVideoTrack.

Extensions

CameraPositionExt
Convenience extension for CameraPosition.
LocalVideoTrackExt
ParticipantPermissionExt
RoomDebugMethods
RoomHardwareManagementMethods
Room extension methods for managing audio, video.
RoomPrivateMethods
VideoDimensionsHelpers
VideoDimensionsPresets
VideoEncodingExt
Convenience extension for VideoEncoding.
VideoParametersPresets
WidgetsBindingCompatible

Constants

defaultFailureTolerance → const int
-1
defaultMagicBytes → const String
'LK-ROCKS'
defaultRatchetSalt → const String
'LKFrameEncryptionKey'
defaultRatchetWindowSize → const int
0

Properties

backupCodecs List<String>
final
logger Logger
final
videoCodecs List<String>
final

Functions

disableLogging() → void
disable logging
getLoggingLevel() Level
get the current logging level
isBackupCodec(String codec) bool
lkBrowser() BrowserType
lkPlatform() PlatformType
lkPlatformIs(PlatformType type) bool
lkPlatformIsDesktop() bool
lkPlatformIsMobile() bool
lkPlatformIsTest() bool
lkPlatformSupportsE2EE() bool
setLoggingLevel(LoggerLevel level) → void
set the logging level

Enums

BrowserType
CameraPosition
A type that represents front or back of the camera.
ConnectionQuality
Connection quality between the Participant and server.
ConnectionState
Connection state type used throughout the SDK.
DisconnectReason
E2EEState
EncryptionType
LoggerLevel
PlatformType
ProtocolVersion
Protocol version to use when connecting to server. Usually it's not recommended to change this.
Reliability
Reliability used for publishing data through data channel.
RTCIceTransportPolicy
The iceTransportPolicy used for RTCConfiguration. See https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection
StreamState
The state of track data stream. This is controlled by server to optimize bandwidth.
TrackSource
TrackSubscribeFailReason
The reason why a track failed to publish.
TrackSubscriptionState
VideoViewMirrorMode

Typedefs

CancelListenFunc = dynamic Function()

Exceptions / Errors

ConnectException
An exception occured while attempting to connect. Common reasons:
DataPublishException
Failed to publish data. Common reasons:
LiveKitE2EEException
An exception for End to End Encryption.
LiveKitException
Base class for Exceptions thrown by the LiveKit SDK
NegotiationError
Exception thrown when pc negotiation fails.
TimeoutException
A certain time has passed while attempting to execute an operation.
TrackCreateException
Failed to create a local track. Common reasons:
TrackPublishException
Failed to publish a local track. Common reasons:
UnexpectedStateException
An internal state of the SDK is not correct and can not continue to execute. This should not occur frequently.