Interface ILocalTrack

LocalTrack is the basic interface for local tracks, providing public methods for LocalAudioTrack and LocalVideoTrack.

Hierarchy

Index

Events

track-ended

  • track-ended(): void
  • Occurs when a audio or video track ends.

    Reasons may include:

    • Camera is unplugged.
    • Microphone is unplugged.
    • The local user stops screen sharing.
    • The local user closes the underlying MediaStreamTrack.
    • A local media device malfunctions.
    • The device permission is revoked.

    Returns void

transceiver-updated

  • transceiver-updated(transceiver: RTCRtpTransceiver, type?: StreamType): void
  • Occurs when the RTCRtpTransceiver instance of the current track is updated.

    Parameters

    • transceiver: RTCRtpTransceiver

      The new RTCRtpTransceiver instance.

    • Optional type: StreamType

      The type of the video stream to which the current track belongs. See StreamType.

    Returns void

Properties

enabled

enabled: boolean

isPlaying

isPlaying: boolean

Whether a media track is playing on the webpage:

  • true: The media track is playing on the webpage.
  • false: The media track is not playing on the webpage.

muted

muted: boolean

trackMediaType

trackMediaType: "audio" | "video"

The type of a media track:

  • "audio": Audio track.
  • "video": Video track.

Methods

close

  • close(): void
  • Closes a local track and releases the audio and video resources that it occupies.

    Once you close a local track, you can no longer reuse it.

    Returns void

getListeners

  • getListeners(event: string): Function[]
  • Gets all the listeners for a specified event.

    Parameters

    • event: string

      The event name.

    Returns Function[]

getMediaStreamTrack

  • getMediaStreamTrack(): MediaStreamTrack

getRTCRtpTransceiver

  • getRTCRtpTransceiver(type?: StreamType): RTCRtpTransceiver | undefined

getStats

getTrackId

  • getTrackId(): string

getTrackLabel

  • getTrackLabel(): string
  • Gets the label of a local track.

    Returns string

    The label that the SDK returns may include:

    • The MediaDeviceInfo.label property, if the track is created by calling createMicrophoneAudioTrack or createCameraVideoTrack.
    • The sourceId property, if the track is created by calling createScreenVideoTrack.
    • The MediaStreamTrack.label property, if the track is created by calling createCustomAudioTrack or createCustomVideoTrack.

off

  • off(event: string, listener: Function): void
  • Removes the listener for a specified event.

    Parameters

    • event: string

      The event name.

    • listener: Function

      The callback that corresponds to the event listener.

    Returns void

on

  • on(event: "track-ended", listener: typeof event_track_ended): void
  • on(event: "transceiver-updated", listener: typeof event_transceiver_updated): void

once

  • once(event: string, listener: Function): void
  • Listens for a specified event once.

    When the specified event happens, the SDK triggers the callback that you pass and then removes the listener.

    Parameters

    • event: string

      The event name.

    • listener: Function

      The callback to trigger.

    Returns void

play

  • play(element?: string | HTMLElement): void
  • Plays a media track on the webpage.

    Parameters

    • Optional element: string | HTMLElement

      Specifies a DOM element. The SDK will create a <video> element under the specified DOM element to play the video track. You can specify a DOM element in either of following ways:

      • string: Specify the ID of the DOM element.
      • HTMLElement: Pass a DOM object.

    Returns void

removeAllListeners

  • removeAllListeners(event?: string): void
  • Removes all listeners for a specified event.

    Parameters

    • Optional event: string

      The event name. If left empty, all listeners for all events are removed.

    Returns void

setEnabled

  • setEnabled(enabled: boolean): Promise<void>
  • since


       4.0.0

    Enables/Disables the track.

    After a track is disabled, the SDK stops playing and publishing the track.

    Parameters

    • enabled: boolean

      Whether to enable the track:

      • true: Enable the track.
      • false: Disable the track.

    Returns Promise<void>

setMuted

  • setMuted(muted: boolean): Promise<void>
  • Sends or stops sending the media data of the track.

    since


       4.6.0

    If the track is published, a successful call of setMuted(true) triggers the user-unpublished event on the remote client, and a successful call of setMuted(false) triggers the user-published event.

    Parameters

    • muted: boolean

      Whether to stop sending the media data of the track:

      • true: Stop sending the media data of the track.
      • false: Resume sending the media data of the track.

    Returns Promise<void>

stop

  • stop(): void