Meeting

class Meeting

Represents a live meeting session containing participants, streams, and associated states.

This class maintains references to the local participant, remote participants, pinned participants, and streaming/recording/transcription states. It also provides access to PubSub messaging, RealtimeStore, and custom media streams.

Obtain an instance using initMeeting and call join to connect.

Constructors

Link copied to clipboard
constructor(meetingId: String, localParticipant: Participant)

Types

Link copied to clipboard
inner class PubSub
Provides publish-subscribe messaging within the meeting.
Link copied to clipboard
inner class RealtimeStore
Provides a shared key-value store for real-time data synchronization across participants.

Properties

Link copied to clipboard
The local participant (current user) in this meeting.
Link copied to clipboard
The unique identifier of this meeting session.
Link copied to clipboard
A map of all remote participants keyed by participant ID.
Link copied to clipboard
Provides access to the PubSub (publish-subscribe) messaging system.
Link copied to clipboard
Provides access to the RealtimeStore for key-value data sharing.

Functions

Link copied to clipboard
This method can be used to register a MeetingEventListener to receive meeting-related event callbacks.
Link copied to clipboard
fun changeMic(device: AppRTCAudioManager.AudioDevice)

fun changeMic(device: AppRTCAudioManager.AudioDevice, customTrack: CustomStreamTrack)
Switches the active audio output routing and optionally replaces the microphone audio track with a custom audio track.
Link copied to clipboard
fun changeMode(mode: String)
This method can be used to change the meeting mode of the local participant.
Link copied to clipboard
fun changeWebcam(deviceId: String)
This method can be used to switch to a specific camera device by its device ID.
Link copied to clipboard
This method can be used to disable the adaptive subscription manager.
Link copied to clipboard
This method can be used to disable screen sharing for the local participant.
Link copied to clipboard
This method can be used to disable the local participant's webcam.
Link copied to clipboard
Enables the adaptive subscription manager on the server, which automatically adjusts the quality of incoming video streams based on network conditions and viewport size.
Link copied to clipboard

fun enableScreenShare(customTrack: CustomStreamTrack, enableAudio: Boolean)
This method can be used to enable screen sharing for the local participant using a custom stream track.
Link copied to clipboard
This method can be used to enable the local participant's webcam.
This method can be used to enable the local participant's webcam using a custom video track.
Link copied to clipboard
fun end()
This method can be used to end the meeting for all participants.
Link copied to clipboard
Fetches a file from the given URL and returns its contents as a base64-encoded string.
Link copied to clipboard
This method can be used to get the current state of the meeting.
Link copied to clipboard
fun getMics(): Set<AppRTCAudioManager.AudioDevice>
This method can be used to get the set of available audio devices (microphones).
Link copied to clipboard
This method can be used to check whether end-to-end encryption (E2EE) is enabled for the current meeting session.
Link copied to clipboard
fun join()
This method can be used to join the meeting.
Link copied to clipboard
fun leave()
This method can be used to leave the meeting.
Link copied to clipboard
fun muteMic()
This method can be used to mute the local participant's microphone.
Link copied to clipboard
This method can be used to pause all incoming streams of all kinds (audio, video, and share).
Pauses all incoming (remote) streams of the specified kind across all participants.
Link copied to clipboard
This method can be used to remove all previously registered MeetingEventListener instances.
Link copied to clipboard
This method can be used to remove a previously registered MeetingEventListener.
Link copied to clipboard
fun requestMediaRelay(destinationMeetingId: String, token: String, userKinds: List<String>)
Requests the server to relay the local participant's media streams to a different meeting room.
Link copied to clipboard
fun respondEntry(pId: String, decision: String)
This method can be used to respond to a participant's entry request.
Link copied to clipboard
This method can be used to resume all incoming streams of all kinds (audio, video, and share).
Resumes all incoming (remote) streams of the specified kind that were previously paused.
Link copied to clipboard
fun setAudioDeviceChangeListener(audioManagerEvents: AppRTCAudioManager.AudioManagerEvents)
This method can be used to register a listener for audio device changes (e.g., when a Bluetooth headset is connected or disconnected).
Link copied to clipboard
fun startHls(config: JSONObject, transcription: PostTranscriptionConfig)
This method can be used to start HLS (HTTP Live Streaming) for the meeting.
Link copied to clipboard
This method can be used to start RTMP livestreaming of the meeting to the specified outputs.
Link copied to clipboard
fun startRecording(webhookUrl: String, awsDirPath: String, config: JSONObject, transcription: PostTranscriptionConfig)
This method can be used to start cloud recording of the meeting.
Link copied to clipboard
This method can be used to start real-time transcription of the meeting audio.
Link copied to clipboard
This method can be used to start a whiteboard session in the meeting.
Link copied to clipboard
fun stopHls()
This method can be used to stop the ongoing HLS streaming.
Link copied to clipboard
This method can be used to stop the ongoing RTMP livestream.
Link copied to clipboard
fun stopMediaRelay(destinationMeetingId: String)
This method can be used to stop an ongoing media relay to the specified meeting.
Link copied to clipboard
This method can be used to stop the ongoing cloud recording.
Link copied to clipboard
This method can be used to stop the ongoing real-time transcription.
Link copied to clipboard
This method can be used to stop the ongoing whiteboard session.
Link copied to clipboard
fun switchTo(meetingId: String)
Switches the local participant from the current meeting to a different meeting room without requiring a full leave/rejoin cycle.
fun switchTo(meetingId: String, token: String)
Switches the local participant from the current meeting to a different meeting room using a specific authentication token.
Link copied to clipboard
fun unmuteMic()
This method can be used to unmute the local participant's microphone.
fun unmuteMic(customTrack: CustomStreamTrack)
This method can be used to unmute the local participant's microphone using a custom audio track.
Link copied to clipboard
fun uploadBase64File(base64Data: String, token: String, fileName: String, listener: TaskCompletionListener<String, String>)
Uploads a base64-encoded file to the VideoSDK temporary file storage.