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
- 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.