Interface IRemoteVideoTrack

RemoteVideoTrack is the basic interface for the remote video track.

You can get create a remote video track by the AgoraRTCRemoteUser.videoTrack object after calling subscribe.

Hierarchy

Index

Events

video-element-visible-status-2

  • since


       4.8.0

    Indicates the visibility of the <video> HTML tag.

    The SDK triggers this event every 30 seconds.

    After you call remoteVideoTrack.play, the SDK creates an <video> tag for playing video tracks. When remoteVideoTrack.isPlaying is true but you cannot see any video, this event helps you check whether the <video> tag is visible or not and learn the reason when the <video> tag is invisible.

    Parameters

    Returns void

Properties

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.

processorDestination

processorDestination: IBaseProcessor
since


   4.13.0

The destination of the current processing pipeline on the remote video track.

trackMediaType

trackMediaType: "audio" | "video"

The type of a media track:

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

Methods

getCurrentFrameData

  • getCurrentFrameData(): ImageData
  • since


       4.1.0

    Gets the data of the video frame being rendered.

    You should call this method after calling play. Otherwise, the method call returns null.

    Returns ImageData

    An ImageData object that stores RGBA data. ImageData is a web API supported by the browser. For details, see ImageData.

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

getUserId

  • getUserId(): UID
  • Gets the uid of the remote user who publishes the remote track.

    Returns UID

    The uid of the remote user.

getVideoElementVisibleStatus

  • since


       4.8.0

    Gets the visibility of the <video> HTML tag.

    After you call remoteVideoTrack.play, the SDK creates an <video> tag for playing video tracks. When remoteVideoTrack.isPlaying is true but you cannot see any video, call this method to check whether the <video> tag is visible or not and learn the reason when the <video> tag is invisible.

    Returns CheckVideoVisibleResult | undefined

    The CheckVideoVisibleResult object. If this method returns undefined, it may be due to the following reasons:

    • remoteVideoTrack.isPlaying is false.
    • The <video> tag does not exist.
    • The <video> tag is not created by calling the play method.

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-updated", listener: typeof event_track_updated): void
  • on(event: "video-state-changed", listener: typeof event_video_state_changed): void
  • on(event: "first-frame-decoded", listener: typeof event_first_frame_decoded): void
  • on(event: "video-element-visible-status", listener: typeof event_video_element_visible_status_2): void
  • on(event: "transceiver-updated", listener: typeof event_transceiver_updated_2): void
  • on(event: "sei-received", listener: typeof event_sei_received): 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

pipe

  • pipe(processor: IBaseProcessor): IBaseProcessor
  • since


       4.13.0

    Inserts a Processor to the remote video track.

    Parameters

    • processor: IBaseProcessor

      The Processor instance. Each extension has a corresponding type of Processor.

    Returns IBaseProcessor

    The Processor instance.

play

  • Plays a remote video track on the web page.

    Parameters

    • 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.
    • Optional config: VideoPlayerConfig

      Sets the playback configurations, such as display mode and mirror mode. See VideoPlayerConfig. By default, the SDK enables mirror mode for a local video track.

    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

stop

  • stop(): void

unpipe

  • unpipe(): void
  • since


       4.13.0

    Removes the Processor inserted to the remote video track.

    Returns void