• Listens for the events and handles them. For example:

    on("connection-change", (payload) => {
    if (payload.state === 'Closed) {
    console.log("Meeting ended")
    }
    })

    Parameters

    • event: "connection-change"

      Event name (for meeting end event, set the event to "connection-change").

    • callback: ((payload) => void)

      Event handler (for meeting end event, the payload of the callback is payload.state === 'Closed').

        • (payload): void
        • Parameters

          • payload: any

          Returns void

    Returns void

  • Parameters

    • event: "audio-statistic-data-change"
    • callback: ((payload) => void)
        • (payload): void
        • Parameters

          • payload: {
                data: {
                    avg_loss: number;
                    encoding: boolean;
                    jitter: number;
                    max_loss: number;
                    rtt: number;
                    sample_rate: number;
                };
                type: string;
            }
            • data: {
                  avg_loss: number;
                  encoding: boolean;
                  jitter: number;
                  max_loss: number;
                  rtt: number;
                  sample_rate: number;
              }
              • avg_loss: number
              • encoding: boolean
              • jitter: number
              • max_loss: number
              • rtt: number
              • sample_rate: number
            • type: string

          Returns void

    Returns void

  • Parameters

    • event: "video-statistic-data-change"
    • callback: ((payload) => void)
        • (payload): void
        • Occurs when the video statistics data is changed; decode (received).

          Parameters

          • payload: {
                data: {
                    avg_loss: number;
                    encoding: boolean;
                    fps: number;
                    height: number;
                    jitter: number;
                    max_loss: number;
                    rtt: number;
                    sample_rate: number;
                    width: number;
                };
                type: string;
            }

            The event detail.

            • data
            • encoding: If encoding is true, the data is encoding video data statistics.
            • avg_loss: The video's average package loss.
            • jitter: The video's jitter.
            • max_loss: The video's maximum package loss.
            • rtt: The video's round trip time.
            • sample_rate: The video's sample rate.
            • width: The video's width.
            • height: The video's height.
            • fps: The video's frames per second (fps).
            • type : string VIDEO_QOS_DATA.
            client.on('video_statistic_data_change', (payload) => {
            console.log('emit', payload);
            });
            • data: {
                  avg_loss: number;
                  encoding: boolean;
                  fps: number;
                  height: number;
                  jitter: number;
                  max_loss: number;
                  rtt: number;
                  sample_rate: number;
                  width: number;
              }
              • avg_loss: number
              • encoding: boolean
              • fps: number
              • height: number
              • jitter: number
              • max_loss: number
              • rtt: number
              • sample_rate: number
              • width: number
            • type: string

          Returns void

          Group

          Events

    Returns void

  • Parameters

    • event: "share-statistic-data-change"
    • callback: ((payload) => void)
        • (payload): void
        • Occurs when the share statistics data is changed during decoding (received) or encoding (sent).

          Parameters

          • payload: {
                data: {
                    avg_loss: number;
                    encoding: boolean;
                    fps: number;
                    height: number;
                    jitter: number;
                    max_loss: number;
                    rtt: number;
                    width: number;
                };
                type: string;
            }

            The event detail.

            • data
            • encoding: If encoding is true, the following metrics stand for the Send data statistics, otherwise, it stands for the Receive data statistics.
            • avg_loss: The share video's average package loss.
            • fps: The share video's frames per second (FPS).
            • height: The share video's height.
            • jitter: The share video's jitter.
            • max_loss: The share video's maximum package loss.
            • rtt: The share video's round trip time.
            • width: The share video's width.
            • type : string VIDEOSHARE_QOS_DATA.
            client.on('share_statistic_data_change', (payload) => {
            console.log('emit', payload);
            });
            • data: {
                  avg_loss: number;
                  encoding: boolean;
                  fps: number;
                  height: number;
                  jitter: number;
                  max_loss: number;
                  rtt: number;
                  width: number;
              }
              • avg_loss: number
              • encoding: boolean
              • fps: number
              • height: number
              • jitter: number
              • max_loss: number
              • rtt: number
              • width: number
            • type: string

          Returns void

          Group

          Events

    Returns void

  • Parameters

    • event: "caption-message"
    • callback: ((payload) => void)
        • (payload): void
        • Parameters

          • payload: {
                avatar?: string;
                displayName: string;
                done?: boolean;
                language: LiveTranscriptionLanguageCode;
                msgId: string;
                source: LiveTranscriptionMessageSource;
                text: string;
                timestamp: number;
                userId: number;
            }
            • Optional avatar?: string

              Avatar.

            • displayName: string

              Display name.

            • Optional done?: boolean

              Whether the sentence is done.

            • language: LiveTranscriptionLanguageCode

              Language code of the live translation.

            • msgId: string

              Message ID.

            • source: LiveTranscriptionMessageSource

              Source of the live transcription message.

            • text: string

              Text content.

            • timestamp: number

              Timestamp.

            • userId: number

              User sending the message.

          Returns void

    Returns void

  • Parameters

    Returns void

  • Parameters

    • event: "local-recording-change"
    • callback: ((payload) => void)
        • (payload): void
        • Parameters

          • payload: {
                bLocalRecord: boolean;
                userId: number;
            }
            • bLocalRecord: boolean
            • userId: number

          Returns void

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    • event: "peer-share-state-change"
    • callback: ((payload) => void)
        • (payload): void
        • Parameters

          • payload: {
                action: string;
                userId: number;
            }
            • action: string
            • userId: number

          Returns void

    Returns void

  • Parameters

    • event: "active-speaker"
    • callback: ((payload) => void)

    Returns void

  • Parameters

    Returns void

  • Parameters

    • event: "main-session-user-updated"
    • callback: ((payload) => void)
        • (payload): void
        • Parameters

          • payload: {}

            Returns void

      Returns void

    • Parameters

      • event: "broadcast-message"
      • callback: ((payload) => void)
          • (payload): void
          • Parameters

            • payload: {
                  message: string;
              }
              • message: string

            Returns void

      Returns void

    • Parameters

      • event: "network-quality-change"
      • callback: ((payload) => void)
          • (payload): void
          • Occurs when network quality changes. The network quality reflects the video quality. The data will broadcast to all users only when the user starts video.

            Parameters

            • payload: {
                  level: number;
                  type: string;
                  userId: number;
              }
              • level: number

                Network quality level. Values can be integers from 0 to 5. Poor: 0, 1 Normal: 2 Good: 3, 4, 5

              • type: string

                Whether the network level is for uplink or downlink. Values can only be 'uplink' or 'downlink'.

              • userId: number

                User ID.

            Returns void

      Returns void

    • Parameters

      • event: "media-capture-status-change"
      • callback: ((payload) => void)
          • (payload): void
          • Parameters

            • payload: {
                  bLocalRecord: boolean;
                  userId: number;
              }
              • bLocalRecord: boolean
              • userId: number

            Returns void

      Returns void

    • Parameters

      • event: "media-capture-permission-change"
      • callback: ((payload) => void)
          • (payload): void
          • Parameters

            • payload: {
                  canRecord?: boolean;
                  type: string;
                  value: string;
              }
              • Optional canRecord?: boolean
              • type: string
              • value: string

            Returns void

      Returns void

    • Parameters

      • event: "join-speed"
      • callback: ((payload) => void)
          • (payload): void
          • Occurs when users join a meeting or waiting room or start audio or video.

            Parameters

            • payload: {
                  desc: string;
                  eventType: string;
                  tagId: number;
                  time: number;
                  timeStr: string;
              }
              • desc: string

                Detailed description for the event.

              • eventType: string
              • tagId: number
              • time: number

                A number representing the timestamp, in milliseconds, for the current time.

              • timeStr: string

                A string representing the given date in the date time string format.

            Returns void

      Returns void

    • Parameters

      • event: "far-end-camera-request-control"
      • listener: ((payload) => void)
          • (payload): void
          • Occurs when far end camera request is received

            Parameters

            • payload: {
                  currentControllingDisplayName?: string;
                  currentControllingUserId?: number;
                  displayName: string;
                  userId: number;
              }

              the event detail

              • Optional currentControllingDisplayName?: string

                The display name for who is controlling the camera.

              • Optional currentControllingUserId?: number

                The user ID for who is controlling the camera.

              • displayName: string

                The display name for who requested control.

              • userId: number

                The user ID for who requested control.

            Returns void

            Group

            Events

      Returns void

    • Parameters

      • event: "far-end-camera-response-control"
      • listener: ((payload) => void)
          • (payload): void
          • Occurs when far end camera response is received.

            Parameters

            Returns void

            Group

            Events

      Returns void

    • Parameters

      • event: "far-end-camera-in-control-change"
      • listener: ((payload) => void)
          • (payload): void
          • Occurs when the status changes for the camera in control.

            Parameters

            • payload: {
                  isControlled: boolean;
                  userId?: number;
              }

              the event detail

              • isControlled: boolean

                Is controlled by other user.

              • Optional userId?: number

                The ID of the user in control.

            Returns void

            Group

            Events

      Returns void

    • Parameters

      • event: "far-end-camera-capability-change"
      • listener: ((payload) => void)

      Returns void