Skip to main content
Version: 5.x.x

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 roomStateChanged event: RoomState.CONNECTING, RoomState.CONNECTED, RoomState.RECONNECTING, RoomState.DISCONNECTED or RoomState.FAILED.
  • It is RoomState.DISCONNECTED before 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 the roomJoined event fires.


participants​

  • type: Map of String and Participant

  • Map<String, Participant>

  • It will contain the remote participants in the room, including AI agents. The local participant is not in it: read localParticipant instead.

  • This will be the Map which will contain the remote participants, with the key as the id of that participant.

  • To list everyone, add room.localParticipant once 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 id of the first AI agent in the room. If there is no agent in the room, its value will be null.


pinnedParticipants​

  • type: Map of String and ParticipantPinState

  • Map<String, ParticipantPinState>

    • Map<participantId, ParticipantPinState>
  • 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 cam and share set to false. 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 transcriptionStateChanged reports it. It is TRANSCRIPTION_STOPPED until transcription starts.


translationState​

  • type: TranslationState

  • The latest realtime translation state, as translationStateChanged reports it. It is TRANSLATION_STOPPED until 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 support
    • livestreamUrl - Live HLS without playback support
final String? playbackUrl = room.hlsUrl?.playbackHlsUrl;

pubSub​

  • type: PubSub
  • It is used to enable Publisher-Subscriber feature in room class.

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 true once a key provider that holds at least one key is set with VideoSDK.setKeyProvider(). Set the key provider before you join.

Learn more about end-to-end encryption, here


note

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