JitsiMeetJS object is the main entry point for the lib-jitsi-meet library. It provides methods for initializing the library, creating connections, conferences, and managing local tracks.
Initialization
init()
Initializes the library. This method must be called before using any other library functionality.object
Configuration options for the library
Connection & Conference
JitsiConnection
Reference to the JitsiConnection class constructor.joinConference()
Simplified method to join a conference with minimal configuration. Automatically handles connection and conference setup.string
required
The name of the conference room
string
default:"''"
Application ID (tenant). For JaaS deployments, use your
vpaas-magic-cookie-* app IDstring | null
default:"null"
JWT token for authentication
object
Configuration options
Promise<JitsiConference>
Promise that resolves to a JitsiConference instance when joined successfully
Local Tracks
createLocalTracks()
Creates local media tracks (audio and/or video).object
Track creation options
Promise<Array<JitsiLocalTrack>>
Promise that resolves to an array of created local tracks
createLocalTracksFromMediaStreams()
Manually creates JitsiLocalTrack instances from existing MediaStream objects.Array<object>
required
Array of track information objects
Array<JitsiLocalTrack>
Array of created local tracks
Media Devices
mediaDevices
Access to the JitsiMediaDevices API for enumerating and managing media devices.isMultipleAudioInputSupported()
Checks if the current environment supports multiple simultaneous audio inputs.boolean
true if multiple audio inputs are supportedgetActiveAudioDevice()
Detects which audio device currently has an active audio signal.object
Object containing information about the active audio device
Utility Methods
isWebRtcSupported()
Checks if WebRTC is supported in the current environment.boolean
true if WebRTC is supportedisDesktopSharingEnabled()
Checks if desktop sharing is enabled and supported.boolean
true if desktop sharing is availablesetLogLevel()
Sets the logging level for the library.string
required
Log level:
TRACE, DEBUG, INFO, LOG, WARN, ERRORsetLogLevelById()
Sets the log level for a specific logger by ID.string
required
Log level to set
string
required
Logger ID (usually the module path)
addGlobalLogTransport()
Adds a custom log transport to receive all log messages.function
required
Function that receives log messages:
(level: string, msg: string, context: object) => voidremoveGlobalLogTransport()
Removes a previously added log transport.function
required
The transport function to remove
Audio Processing
createAudioMixer()
Creates an AudioMixer for combining multiple audio streams.AudioMixer
AudioMixer instance for mixing audio streams
createTrackVADEmitter()
Creates a voice activity detection (VAD) emitter for an audio track.string
required
Target local audio device ID
number
required
Sample rate for VAD processing (256, 512, 1024, 4096, 8192, or 16384)
object
required
VAD processor implementing:
getSampleLength(): numbergetRequiredPCMFrequency(): numbercalculateAudioFrameVAD(pcmSample: Float32Array): number
Promise<TrackVADEmitter>
Promise resolving to a TrackVADEmitter instance
Network & Diagnostics
setNetworkInfo()
Informs the library about the current network status.object
required
runPreCallTest()
Runs a pre-call network test to check connectivity and quality.Array<object>
required
Array of ICE server configurations
Promise<object>
Promise resolving to test results including network quality metrics
Constants and Events
events
Event name constants for the library:conference- JitsiConferenceEventsconnection- JitsiConnectionEventstrack- JitsiTrackEventsmediaDevices- JitsiMediaDevicesEventsconnectionQuality- ConnectionQualityEventsdetection- DetectionEventse2eping- E2ePingEvents