Room Class Properties - Flutter
id
-
type:
String -
Unique id of the room where the participant has joined.
roomState
- type:
RoomState - The connection state of the room, as last reported by the
roomStateChangedevent:RoomState.CONNECTING,RoomState.CONNECTED,RoomState.RECONNECTING,RoomState.DISCONNECTEDorRoomState.FAILED. - It is
RoomState.DISCONNECTEDbefore you join.
isMicEnabled
- type:
bool - It indicates if the local microphone is on.
isCamEnabled
- type:
bool - It indicates if the local camera is on.
isScreenSharing
- type:
bool - It indicates if the local participant is sharing their screen.
localParticipant
-
type: Participant
-
It will be the instance of Participant class for the local participant(You) who joined the room.
-
It exists from
createRoom(). Before join it carries the id and name you passed, empty when you passed none. Join fills in the ones the room assigned, by the time theroomJoinedevent fires.
participants
-
type:
MapofStringand Participant -
Map<String, Participant>- Map<
participantId, Participant>
- Map<
-
It will contain the remote participants in the room, including AI agents. The local participant is not in it: read
localParticipantinstead. -
This will be the
Mapwhich will contain the remote participants, with the key as the id of that participant. -
To list everyone, add
room.localParticipantonce the room is joined.
String remoteParticipantId = "ajf897";
Participant? remoteParticipant = room.participants[remoteParticipantId];
// Everyone, once the room is joined
List<Participant> everyone = [
room.localParticipant,
...room.participants.values,
];
agentParticipants
-
type:
Map<String, Participant> -
It will contain the AI agents in the room, with the key as the id of that participant. Each agent is also in
participants.
agentPeerId
-
type:
String? -
It will be the
idof the first AI agent in the room. If there is no agent in the room, its value will benull.
pinnedParticipants
-
Map<String, ParticipantPinState>- Map<
participantId,ParticipantPinState>
- Map<
-
It contains the latest pin state that the room has seen for each participant, with the id of that participant as the key.
-
A participant who was unpinned stays in the map, with
camandshareset tofalse. To find who is pinned, check those values.
hlsState
-
type: String
-
It will return the state of HLS for the room, for example
HLS_PLAYABLE.
liveStreamState
-
type: String
-
It will return the state of the RTMP livestream for the room, for example
LIVESTREAM_STARTED.
recordingState
-
type: String
-
It will return the state of Recording for the room, for example
RECORDING_STARTED.
transcriptionState
-
type:
TranscriptionState -
The latest realtime transcription state, as
transcriptionStateChangedreports it. It isTRANSCRIPTION_STOPPEDuntil transcription starts.
translationState
-
type:
TranslationState -
The latest realtime translation state, as
translationStateChangedreports it. It isTRANSLATION_STOPPEDuntil translation starts.
hlsUrl
-
type:
HLSUrl? -
It will return the URLs of the ongoing HLS of the room, once it is playable.
playbackHlsUrl- Live HLS with playback supportlivestreamUrl- Live HLS without playback support
final String? playbackUrl = room.hlsUrl?.playbackHlsUrl;
pubSub
Learn more about PubSub, here
realtimeStore
- type:
RealtimeStore - It is used to store, update, read and observe shared key-value data in the room.
Learn more about RealtimeStore, here
e2eeEnabled
- type:
bool - It indicates if end-to-end encryption is enabled. It becomes
trueonce a key provider that holds at least one key is set withVideoSDK.setKeyProvider(). Set the key provider before you join.
Learn more about end-to-end encryption, here
The active speaker and presenter are read with getActiveSpeakerId() and getActivePresenterId(). The selected camera and audio device are read with VideoSDK.getSelectedVideoDevice() and VideoSDK.getSelectedAudioDevice().
Got a Question? Ask us on discord

