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);
    since

    2.2.5

    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 }>

  • canSendChat(): boolean
  • Check whether the current user can send a chat message.

    Returns boolean

    true when the chat privilege allows everyone to send.

  • 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();
    }`
    since

    2.2.5

    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 }>

  • isLiveTranslationEnabled(): boolean
  • Check whether live translation is enabled for the current streaming.

    Returns boolean

    true when closed caption is enabled.

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

    since

    2.2.5

    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
  • on(event: "chat-on-message", listener: ((payload: { id: string; isSelf: boolean; message: string; sender: string }) => void)): void
  • on(event: "chat-privilege-change", listener: ((payload: { chatPrivilege: ChatPrivilege }) => void)): void
  • on(event: "caption-message", listener: ((payload: { message?: string }) => void)): void
  • on(event: "emoji-reaction", listener: ((payload: { reactions: (string | number)[] }) => void)): void
  • on(event: "caption-enable", listener: ((payload: boolean) => void)): void
  • Listens for events and handles them.

    since

    2.2.5

    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, they stand 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, they stand 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

  • Parameters

    • event: "chat-on-message"
    • listener: ((payload: { id: string; isSelf: boolean; message: string; sender: string }) => void)

      listener Details in event_chat_on_message

        • (payload: { id: string; isSelf: boolean; message: string; sender: string }): void
        • Occurs when a chat message is received.

          Parameters

          • payload: { id: string; isSelf: boolean; message: string; sender: string }

            The event detail.

            • id: string

              Message ID.

            • isSelf: boolean

              Whether the message is sent by the current user.

            • message: string

              Message content.

            • sender: string

              Sender name.

          Returns void

    Returns void

  • Parameters

    Returns void

  • Parameters

    • event: "caption-message"
    • listener: ((payload: { message?: string }) => void)

      listener Details in event_caption_message

        • (payload: { message?: string }): void
        • Occurs when a live translation caption is received.

          Parameters

          • payload: { message?: string }

            The event detail.

            • Optional message?: string

              Caption text.

          Returns void

    Returns void

  • Parameters

    • event: "emoji-reaction"
    • listener: ((payload: { reactions: (string | number)[] }) => void)

      listener Details in event_emoji_reaction

        • (payload: { reactions: (string | number)[] }): void
        • Occurs when emoji reactions are received.

          Parameters

          • payload: { reactions: (string | number)[] }

            The event detail.

            • reactions: (string | number)[]

              Reaction values from the current streaming.

          Returns void

    Returns void

  • Parameters

    • event: "caption-enable"
    • listener: ((payload: boolean) => void)

      listener Details in event_caption_enable

        • (payload: boolean): void
        • Occurs when live translation is enabled or disabled for the current streaming.

          Parameters

          • payload: boolean

            Whether live translation is enabled.

          Returns void

    Returns void

  • sendChat(text: string): Promise<string | { reason: string; type: string }>
  • Send a chat message to the current streaming.

    Parameters

    • text: string

      Required. The chat message.

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

  • sendEmojiReaction(type: ReactionType): Promise<void | { reason: string; type: string }>
  • Send an emoji reaction to the current streaming.

    Parameters

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

  • setTranslationLanguage(language?: string): Promise<void | { reason: string; type: string }>
  • Set the translation language of the current streaming. Omit language to turn off translation.

    Parameters

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

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

    since

    2.2.5

    Parameters

    Returns default

  • destroyClient(): void
  • Destroys the client.

    since

    2.2.5

    Returns void