RemoteTrack

最近更新时间:2022-09-20 05:17:40

远端轨道对象的基础类,为远端音频轨道 RemoteAudioTrack 和远端视频轨道 RemoteVideoTrack 提供一些公共的方法。

import ArRTC from "ar-rtc-sdk";
var remoteAudioTrack = null; // 存放远端音频轨道
var remoteVideoTrack = null; // 存放远端视频轨道
/**
 * 创建一个客户端
 */
var rtcClient = ArRTC.createClient({ mode: "live", codec: "h264" });

rtcClient.on("user-published", async (user, mediaType) => {
  // 订阅远端用户的音视频轨道
  await rtcClient.subscribe(user, mediaType);
  if (mediaType === "video") {
    remoteVideoTrack = user.videoTrack;
    console.log("subscribe video success");
  
  }
  if (mediaType === "audio") {
    remoteAudioTrack = user.audioTrack;
    user.audioTrack.
  }
});

继承

事件回调

first-frame-decoded

first-frame-decoded(): void

首帧音频或视频解码时触发。

remoteAudioTrack.on("first-frame-decoded", () => {
  // 在页面上播放音频。
  remoteAudioTrack.play();
})
remoteVideoTrack.on("first-frame-decoded", () => {
    // 在页面上播放视频。
    remoteVideoTrack.play("xxx");
});

返回值 void


属性

isPlaying

isPlaying: boolean

媒体轨道是否正在页面上播放。

  • true: 媒体轨道正在页面上播放。
  • false: 媒体轨道没有在页面上播放。

trackMediaType

trackMediaType: "audio" | "video"

媒体轨道的类型:

  • "audio": 音频轨道。
  • "video": 视频轨道。

方法

getListeners

getListeners(event: string): Function[]

指定一个事件名,获取当前所有监听这个事件的回调函数。

参数

  • event: string

    事件名称。

返回值 Function[]


getMediaStreamTrack

getMediaStreamTrack(): MediaStreamTrack

获取浏览器原生的 MediaStreamTrack 对象。

返回值 MediaStreamTrack

一个 MediaStreamTrack 对象。


getTrackId

getTrackId(): string

获取由 SDK 生成的对于媒体轨道来说的唯一 ID。

返回值 string

媒体轨道 ID。


off

off(event: string, listener: Function): void

取消一个指定事件的监听。

参数

  • event: string

    指定事件的名称。

  • listener: Function

    监听事件时传入的回调函数。

返回值 void


on

on(event: "first-frame-decoded", listener: event_first_frame_decoded): void

参数

返回值 void


once

once(event: string, listener: Function): void

监听一个指定的事件,当事件触发时会调用传入的回调函数。

当监听后事件第一次触发时,该监听和回调函数就会被立刻移除,也就是只监听一次指定事件。

参数

  • event: string

    指定事件的名称。

  • listener: Function

    传入的回调函数。

返回值 void


play

play(element?: string | HTMLElement): void

在页面上播放媒体轨道。

参数

  • Optional element: string | HTMLElement

    指定一个 DOM 元素,SDK 将在这个元素下创建 <video> 元素播放视频轨道,支持 2 种类型:

    • string: 指定该 DOM 元素的 ID 值。
    • HTMLElement: 直接传入一个 DOM 元素对象。

返回值 void


removeAllListeners

removeAllListeners(event?: undefined | string): void

指定一个事件,取消其所有的监听。

参数

  • Optional event: undefined | string

    指定事件的名称,如果没有指定事件,则取消所有事件的所有监听。

返回值 void


stop

stop(): void

停止播放。

返回值 void