LocalParticipant class
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.
- Inheritance
-
- Object
- ChangeNotifier
- Participant<
LocalTrackPublication< LocalTrack> > - LocalParticipant
Constructors
- LocalParticipant({required Room room, required ParticipantInfo info})
Properties
- audioLevel ↔ double
-
Audio level between 0-1, 1 being the loudest.
read / writeinherited
-
audioTracks
→ List<
LocalTrackPublication< LocalAudioTrack> > -
A convenience property to get all audio tracks.
read-onlyoverride
- connectionQuality → ConnectionQuality
-
Connection quality between the Participant and the Server.
read-onlyinherited
- disposeFuncCount → int
-
read-onlyinherited
-
events
→ EventsEmitter<
ParticipantEvent> -
finalinherited
- firstTrackEncryptionType → EncryptionType
-
read-onlyinherited
- hasAudio → bool
-
true if this Participant has more than 1 AudioTrack.
read-onlyinherited
- hashCode → int
-
(Equality operator) Participant.hashCode is same as
sid.hashCode
.read-onlyinherited - hasInfo → bool
-
read-onlyinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
read-onlyinherited
- hasVideo → bool
-
true if this Participant has more than 1 VideoTrack.
read-onlyinherited
- identity ↔ String
-
User-assigned identity.
read / writeinherited
- isDisposed → bool
-
read-onlyinherited
- isEncrypted → bool
-
read-onlyinherited
- isMuted → bool
-
true if Participant is publishing an AudioTrack and is muted.
read-onlyinherited
- isSpeaking → bool
-
if Participant is currently speaking.
read-onlyinherited
- joinedAt → DateTime
-
when the participant joined the room
read-onlyinherited
- lastSpokeAt ↔ DateTime?
-
When the participant had last spoken.
read / writeinherited
- metadata ↔ String?
-
Client-assigned metadata, opaque to livekit.
read / writeinherited
- name → String
-
Name of the participant (readonly).
read-onlyinherited
- permissions → ParticipantPermissions
-
read-onlyinherited
- room → Room
-
Reference to Room
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- sid ↔ String
-
Server assigned unique id.
read / writeinherited
-
trackPublications
→ Map<
String, LocalTrackPublication< LocalTrack> > -
Map of track sid => published track
finalinherited
-
videoTracks
→ List<
LocalTrackPublication< LocalVideoTrack> > -
A convenience property to get all video tracks.
read-onlyoverride
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
createListener(
{bool synchronized = false}) → EventsListener< ParticipantEvent> -
inherited
-
dispose(
) → Future< bool> -
Discards any resources used by the object. After this is called, the
object is not in a usable state and should be discarded (calls to
addListener will throw after the object is disposed).
inherited
-
getTrackPublicationBySource(
TrackSource source) → LocalTrackPublication< LocalTrack> ? -
Tries to find a TrackPublication by its TrackSource. Otherwise, will
return a compatible type of TrackPublication for the TrackSource specified.
returns null when not found.
inherited
-
isCameraEnabled(
) → bool -
Convenience property to check whether TrackSource.camera is published or not.
inherited
-
isMicrophoneEnabled(
) → bool -
Convenience property to check whether TrackSource.microphone is published or not.
inherited
-
Convenience property to check whether TrackSource.screenShareVideo is published or not.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
onDispose(
OnDisposeFunc func) → void -
inherited
-
publishAdditionalCodecForPublication(
LocalTrackPublication< LocalTrack> publication, String backupCodec) → Future<void> -
publishAudioTrack(
LocalAudioTrack track, {AudioPublishOptions? publishOptions}) → Future< LocalTrackPublication< LocalAudioTrack> > - Publish an AudioTrack to the Room. For most cases, using setMicrophoneEnabled would be simpler and recommended.
-
publishData(
List< int> data, {Reliability reliability = Reliability.reliable, List<String> ? destinationSids, String? topic}) → Future<void> - Publish a new data payload to the room. @param destinationSids When empty, data will be forwarded to each participant in the room. @param topic, the topic under which the message gets published.
-
publishedTracksInfo(
) → Iterable< TrackPublishedResponse> -
publishVideoTrack(
LocalVideoTrack track, {VideoPublishOptions? publishOptions}) → Future< LocalTrackPublication< LocalVideoTrack> > - Publish a LocalVideoTrack to the Room. For most cases, using setCameraEnabled would be simpler and recommended.
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
rePublishAllTracks(
) → Future< void> -
sendTrackSubscriptionPermissions(
) → void -
setCameraEnabled(
bool enabled, {CameraCaptureOptions? cameraCaptureOptions}) → Future< LocalTrackPublication< LocalTrack> ?> - Shortcut for publishing a TrackSource.camera
-
setMetadata(
String metadata) → void -
Sets and updates the metadata of the local participant.
Note: this requires
CanUpdateOwnMetadata
permission encoded in the token. @param metadata -
setMicrophoneEnabled(
bool enabled, {AudioCaptureOptions? audioCaptureOptions}) → Future< LocalTrackPublication< LocalTrack> ?> - Shortcut for publishing a TrackSource.microphone
-
setName(
String name) → void -
Sets and updates the name of the local participant.
Note: this requires
CanUpdateOwnMetadata
permission encoded in the token. @param name -
setPermissions(
ParticipantPermissions newValue) → ParticipantPermissions? -
override
- Shortcut for publishing a TrackSource.screenShareVideo
-
setSourceEnabled(
TrackSource source, bool enabled, {bool? captureScreenAudio, AudioCaptureOptions? audioCaptureOptions, CameraCaptureOptions? cameraCaptureOptions, ) → Future< LocalTrackPublication< LocalTrack> ?> - A convenience method to publish a track for a specific TrackSource. This is the recommended method to publish tracks.
-
setTrackSubscriptionPermissions(
{required bool allParticipantsAllowed, List< ParticipantTrackPermission> trackPermissions = const []}) → void - Control who can subscribe to LocalParticipant's published tracks.
-
toString(
) → String -
A string representation of this object.
inherited
-
unpublishAllTracks(
{bool notify = true, bool? stopOnUnpublish}) → Future< void> -
Convenience method to unpublish all tracks.
inherited
-
unpublishTrack(
String trackSid, {bool notify = true}) → Future< void> -
Unpublish a LocalTrackPublication that's already published by this LocalParticipant.
override
-
updateConnectionQuality(
ConnectionQuality quality) → void -
inherited
-
updateName(
String name) → void -
inherited
Operators
-
operator ==(
Object other) → bool -
(Equality operator) Participant is considered equal when sid's are equal.
inherited