Options
All
  • Public
  • Public/Protected
  • All
Menu

Zoom Broadcast streaming for web platform.

Hierarchy

  • default

Index

Constructors

Properties

VERSION: string

Version

Methods

  • attachStreaming(channelId: string, token: string, videoQuality: number, element?: string | LiveVideo): Promise<LiveVideo | { reason: string; type: string }>
  • Create a LiveVideo or reuse the existing LiveVideo and attach the streaming to it.

    Note the returned live-videoLiveVideo element must be a child node of the live-video-container LiveVideoContainer.

    <live-video-container class="streaming-container">
    <!-- Other html tags -->
    </live-video-container>
    const element = await streaming.attachStreaming(
    channelId,
    token,
    VideoQuality.Video_720P
    );
    document.querySelector(".streaming-container").appendChild(element);

    Parameters

    • channelId: string

      Required. The channel ID.

    • token: string

      Required. The JWT token.

    • videoQuality: number

      Required. Quality of the video. One of the following: 90P/360P/640P/720P/1080P.

    • Optional element: string | LiveVideo

      Optional. Empty value: create a new element; String value: LiveVideo element selector specified by document.querySelector; LiveVideo Element value: Specified element

    Returns Promise<LiveVideo | { reason: string; type: string }>

  • detachStreaming(channelId: string, element?: string | LiveVideo): Promise<LiveVideo | { reason: string; type: string }>
  • Detach the streaming from all previously attached LiveVideo elements or specific elements.

    const elements = await streaming.detachStreaming(channelId);
    if (Array.isArray(elements)) {
    elements.forEach((e) => e.remove());
    } else {
    elements.remove();
    }`

    Parameters

    • channelId: string

      Required. The channel ID.

    • Optional element: string | LiveVideo

      Optional. Empty value: detach all streamings. String value:LiveVideo element selector specified by document.querySelector; LiveVideo Element value: Specified element

    Returns Promise<LiveVideo | { reason: string; type: string }>

  • off(event: string, callback: ((payload: any) => void)): void
  • Removes the event handler.

    Parameters

    • event: string

      Event name.

    • callback: ((payload: any) => void)

      The event handler.

        • (payload: any): void
        • Parameters

          • payload: any

          Returns void

    Returns void

  • on(event: string, callback: ((payload: any) => void)): void
  • on(event: "connection-change", listener: ((payload: { state: "Connected" | "Fail" }) => void)): void
  • on(event: "video-statistic-data-change", listener: ((payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; fps: number; height: number; jitter: number; max_loss: number; rtt: number; sample_rate: number; width: number }) => void)): void
  • on(event: "audio-statistic-data-change", listener: ((payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; jitter: number; max_loss: number; rtt: number; sample_rate: number }) => void)): void
  • on(event: "auto-play-audio-failed", listener: (() => void)): void
  • Listens for events and handles them.

    Parameters

    • event: string

      Event name.

    • callback: ((payload: any) => void)

      The event handler.

        • (payload: any): void
        • Parameters

          • payload: any

          Returns void

    Returns void

  • Parameters

    • event: "connection-change"
    • listener: ((payload: { state: "Connected" | "Fail" }) => void)
        • (payload: { state: "Connected" | "Fail" }): void
        • Occurs when the connection is changed.

          Parameters

          • payload: { state: "Connected" | "Fail" }
            • state: "Connected" | "Fail"

          Returns void

    Returns void

  • Parameters

    • event: "video-statistic-data-change"
    • listener: ((payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; fps: number; height: number; jitter: number; max_loss: number; rtt: number; sample_rate: number; width: number }) => void)

      listener Details in event_video_statistic_data_change

        • (payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; fps: number; height: number; jitter: number; max_loss: number; rtt: number; sample_rate: number; width: number }): void
        • Occurs when the video statistics data is changed;

          Parameters

          • payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; fps: number; height: number; jitter: number; max_loss: number; rtt: number; sample_rate: number; width: number }

            The event detail

            • avg_loss: number

              Video's average package loss.

            • bandwidth: number

              Bandwidth, measured in bits per second (bps)

            • bitrate: number

              Bit rate, measured in bits per second (bps)

            • encoding: boolean

              If encoding is true, the following metrics stand for the Send data statistics, otherwise, it stands for the Receive data statistics.

            • fps: number

              Video's frame rate in frames per second (FPS).

            • height: number

              Video's resolution height.

            • jitter: number

              Video's jitter.

            • max_loss: number

              Video's maximum package loss.

            • rtt: number

              Video's round trip time.

            • sample_rate: number

              Video's sample rate.

            • width: number

              Video's resolution width.

          Returns void

    Returns void

  • Parameters

    • event: "audio-statistic-data-change"
    • listener: ((payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; jitter: number; max_loss: number; rtt: number; sample_rate: number }) => void)

      listener Details in event_audio_statistic_data_change

        • (payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; jitter: number; max_loss: number; rtt: number; sample_rate: number }): void
        • Occurs when the audio statistics data is changed;

          Parameters

          • payload: { avg_loss: number; bandwidth: number; bitrate: number; encoding: boolean; jitter: number; max_loss: number; rtt: number; sample_rate: number }

            The event detail.

            • avg_loss: number

              Audio's Average package loss.

            • bandwidth: number

              Bandwidth, measured in bits per second (bps)

            • bitrate: number

              Bit rate, measured in bits per second (bps)

            • encoding: boolean

              If encoding is true, the following metrics stand for the Send data statistics, otherwise, it stands for the Receive data statistics.

            • jitter: number

              Audio's jitter.

            • max_loss: number

              Audio's maximum package loss.

            • rtt: number

              Audio's round trip time.

            • sample_rate: number

              Audio's sample rate.

          Returns void

    Returns void

  • Parameters

    • event: "auto-play-audio-failed"
    • listener: (() => void)

      listener Details in event_auto_play_audio_failed

        • (): void
        • Occurs when the SDK tried and failed to auto play audio. This is usually because the streaming was played without any prior user interaction with the page. In this callback, you need to manually set the muted attribute of the live-video element to 'false'.

          Returns void

    Returns void

  • Get an instance for managing the streaming. This method will return a same instance if called multiple times.

    Parameters

    Returns default

  • destroyClient(): void
  • Destroys the client.

    Returns void