Skip to main content

Meeting Class

The entry point into real-time communication SDK.

The Meeting Class

The Meeting Class includes methods and events for managing meetings, participants, video & audio streams, data channels and UI customization.

You don't ever need to call the Meeting Class constructor directly. Instead use one of the factory methods.

Factory Methods

initMeeting()

Javascript
const meeting = VideoSDK.initMeeting({
meetingId, // required
name, // required
micEnabled, // optional, default: true
webcamEnabled, // optional, default: true
maxResolution, // optional, default: "hd"
});

Parameters

  • __namedParametersrequiredobject

      Properties
    • meetingIdrequiredstring

    • participantIdoptionalstring

    • nameoptionalstring

    • micEnabledoptionalbool(default:true)

    • webcamEnabledoptionalbool(default:true)

    • maxResolutionoptionalstring(default:hd)

      Possible values are hd and sd

Properties

  • __propertiesobject

      Properties
    • idstring

    • activeSpeakerIdstring

    • activePresenterIdstring

    • mainParticipantIdstring

    • localParticipantParticipant

    • participantsMap<string, Participant>

    • pinnedParticipantsMap<string, { cam: bool, share: bool }}>

    • messagesArray<{senderId: string, text: string, timestamp: number}>

Events

  • __events

      Events
    • participant-joinedevent

    • participant-leftevent

    • speaker-changedevent

    • presenter-changedevent

    • main-participant-changedevent

    • entry-requestedevent

    • entry-respondedevent

    • recording-startedevent

    • recording-stoppedevent

    • chat-messageevent

    • video-state-changedevent

    • video-seekedevent

    • livestream-startedevent

    • livestream-stoppedevent

    • pin-state-changedevent

Methods

      Join and leave
    • join()void

    • leave()void

    • end()void

      Mic and webcam
    • muteMic()void

    • unmuteMic()void

    • disableWebcam()void

    • enableWebcam()void

      Screenshare
    • disableScreenShare()void

    • enableScreenShare()void

      Recording
    • startRecording(webhookUrl: string, awsDirPath: string)void

    • stopRecording()void

      External video
    • startVideo({ link: string })void

      Triggers video-state-changed event with status "started"

    • stopVideo()void

      Triggers video-state-changed event with status "stopped"

    • pauseVideo({ currentTime: number })void

      Triggers video-state-changed event with status "paused"

    • resumeVideo()void

      Triggers video-state-changed event with status "resumed"

    • seekVideo({ currentTime: number })void

      Triggers video-seeked event with currentTime

      Livestream / RTMP out
    • startLivestream(Array<{ url: string, streamKey: string }>)void

    • stopLivestream()void