Participant<T extends TrackPublication<Track>> class abstract

Represents a Participant in the room, notifies changes via delegates as well as ChangeNotifier/providers. A change notification is triggered when

  • speaking status changed
  • mute status changed
  • added/removed subscribed tracks
  • metadata changed Base for RemoteParticipant and LocalParticipant, can not be instantiated directly.
Inheritance
Mixed in types
Implementers

Constructors

Participant({required Room room, required String sid, required String identity, required String name})

Properties

audioLevel double
Audio level between 0-1, 1 being the loudest.
getter/setter pair
audioTrackPublications List<T>
no setter
connectionQuality ConnectionQuality
Connection quality between the Participant and the Server.
no setter
disposeFuncCount int
no setterinherited
events EventsEmitter<ParticipantEvent>
finalinherited
firstTrackEncryptionType EncryptionType
no setter
hasAudio bool
true if this Participant has more than 1 AudioTrack.
no setter
hashCode int
(Equality operator) Participant.hashCode is same as sid.hashCode.
no setteroverride
hasInfo bool
no setter
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
hasVideo bool
true if this Participant has more than 1 VideoTrack.
no setter
identity String
User-assigned identity.
getter/setter pair
isDisposed bool
no setterinherited
isEncrypted bool
no setter
isMuted bool
true if Participant is publishing an AudioTrack and is muted.
no setter
isSpeaking bool
if Participant is currently speaking.
getter/setter pair
joinedAt DateTime
when the participant joined the room
no setter
lastSpokeAt DateTime?
When the participant had last spoken.
getter/setter pair
metadata String?
Client-assigned metadata, opaque to livekit.
getter/setter pair
name String
Name of the participant (readonly).
no setter
permissions ParticipantPermissions
no setter
room Room
Reference to Room
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sid String
Server assigned unique id.
getter/setter pair
trackPublications Map<String, T>
Map of track sid => published track
final
videoTrackPublications List<T>
no setter

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
addTrackPublication(T pub) → void
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
getTrackPublicationByName(String name) → T?
get a TrackPublication by its name. returns null when not found.
getTrackPublicationBySid(String sid) → T?
get a TrackPublication by its sid. returns null when not found.
getTrackPublicationBySource(TrackSource source) → T?
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.
getTrackPublications() List<T>
get all TrackPublications.
isCameraEnabled() bool
Convenience property to check whether TrackSource.camera is published or not.
isMicrophoneEnabled() bool
Convenience property to check whether TrackSource.microphone is published or not.
isScreenShareAudioEnabled() bool
Convenience property to check whether TrackSource.screenShareAudio is published or not.
isScreenShareEnabled() bool
Convenience property to check whether TrackSource.screenShareVideo is published or not.
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
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
setPermissions(ParticipantPermissions newValue) ParticipantPermissions?
toString() String
A string representation of this object.
override
updateConnectionQuality(ConnectionQuality quality) → void
updateFromInfo(ParticipantInfo info) Future<bool>
updateName(String name) → void

Operators

operator ==(Object other) bool
(Equality operator) Participant is considered equal when sid's are equal.
override