Interface IRemoteVideoTrack

RemoteVideoTrack is the basic interface for the remote video track.

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

Hierarchy

Properties

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: IBaseProcessor

Since
   4.13.0

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

trackMediaType: "audio" | "video"

The type of a media track:

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

Methods

  • 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.

  • Gets all the listeners for a specified event.

    Parameters

    • event: string

      The event name.

    Returns Function[]

  • Gets the RTCRtpTransceiver instance of the current track.

    This method is currently mainly used for end-to-end encryption of video streams (Beta).

    If the SDK experiences a reconnection, the RTCRtpTransceiver instance corresponding to the current track might change. You can obtain the new RTCRtpTransceiver instance through the following callbacks:

    • For a local track: ["transceiver-updated"]ILocalTrack.event_transceiver_updated
    • For a remote track: ["transceiver-updated-2"]IRemoteTrack.event_transceiver_updated_2

    Parameters

    • Optional type: StreamType

      The type of the video stream. See StreamType.

    Returns undefined | RTCRtpTransceiver

    The RTCRtpTransceiver instance of the current track.

  • Gets the ID of a media track, a unique identifier generated by the SDK.

    Returns string

    The media track ID.

  • Gets the uid of the remote user who publishes the remote track.

    Returns UID

    The uid of the remote user.

  • 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 undefined | CheckVisibleResult

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

    • localRemoteTrack.isPlaying is false.
    • The <video> tag does not exist.
    • The <video> tag is not created by calling the play method.
  • 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

  • Parameters

    • event: "first-frame-decoded"

      The event name.

    • listener: (() => void)

      See [first-frame-decoded]__type.

        • (): void
        • Occurs when the first remote audio or video frame is decoded.

          Returns void

          As Member Of

          IRemoteTrack

          Group

          Events

    Returns void

  • Parameters

    • event: "video-element-visible-status"

      The event name.

    • listener: ((data?) => void)

      See [video-element-visible-status]__type.

        • (data?): void
        • 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

          • Optional data: CheckVisibleResult

            The visibility of the <video> tag.

          Returns void

          As Member Of

          IRemoteVideoTrack

          Group

          Events

    Returns void

  • Adds an event listener.

    Parameters

    • event: "transceiver-updated"

      The event name.

    • listener: ((transceiver) => void)

      See [transceiver-updated-2]__type.

        • (transceiver): void
        • Occurs when the RTCRtpTransceiver instance of the current track is updated.

          Parameters

          • transceiver: RTCRtpTransceiver

            The new RTCRtpTransceiver instance.

          Returns void

          As Member Of

          IRemoteTrack

          Group

          Events

    Returns 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

  • 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.

  • 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

  • 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

  • Stops playing the media track.

    Returns void

  • Since
       4.13.0

    Removes the Processor inserted to the remote video track.

    Returns void