LocalTrack 是 Web SDK 中定义本地音视频轨道的基础类,可用于本地播放和发布。

SDK 通过不同的方式创建不同的 LocalTrack,返回不同的 LocalTrack 派生类对象

属性列表

属性

类型

描述

支持的最低版本

isPlaying

boolean

媒体轨道是否正在播放

3.0.0

trackMediaType

TrackMediaType

媒体轨道类型

3.0.0

enabled

boolean

本地轨道当前的启用状态。

3.0.0

muted

boolean

是否 mute

3.0.0

接口列表

接口

描述

支持的最低版本

getMediaStreamTrack()

获取媒体轨道

3.0.0

getTrackId()

获取流轨道 id

3.0.0

play()

在页面上播放媒体轨道

3.0.0

replaceTrack()

替换音视频轨道

3.0.0

stop()

停止播放

3.0.0

off()

取消一个指定事件的监听回调函数

3.0.0

on()

监听一个指定事件并设置回调函数

3.0.0

once()

监听一个指定事件一次,回调函数触发后移除

3.0.0

removeAllListeners()

取消该对象指定事件或所有事件上的监听回调

3.0.0

事件列表

事件

事件参数

描述

支持的最低版本

"track-ended"

() => void

音频或视频轨道被终止,终止的原因可能是:

- 摄像头被拔出

- 麦克风被拔出

- 用户主动停止了屏幕共享

- 用户主动关闭了底层的 MediaStreamTrack

- 媒体设备故障

- 正在使用中的媒体设备的权限被收回

3.0.0

接口详情

getMediaStreamTrack()

获取媒体轨道

类型签名

getMediaStreamTrack(): MediaStreamTrack;

返回

MediaStreamTrack

媒体轨道

getTrackId()

获取流轨道 id

类型签名

getTrackId(): string;

返回

string

流轨道 id

play()

在页面上播放媒体轨道

类型签名

play(element?: string | HTMLElement, config?: VideoPlayerConfig): void;

参数

参数

类型

描述

element

string | HTMLElement

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

- string: 指定该 DOM 元素的 ID 值。

- HTMLElement: 直接传入一个 DOM 元素对象。

config

VideoPlayerConfig

(Optional)视频媒体播放参数

返回

void

replaceTrack()

替换音视频轨道

类型签名

replaceTrack(track: MediaStreamTrack, stopOldTrack?: boolean): void;

参数

类型

描述

track

MediaStreamTrack

音视频轨道

stopOldTrack

boolean

(Optional)是否停止上一个轨道

返回

void

stop()

停止播放

类型签名

stop(): void;

返回

void

close()

关闭本地轨道,并释放相关采集设备。

一旦本地轨道被关闭,就无法再次使用。如需再次使用本地轨道,需要重新创建。

类型签名

close(): void;

返回

void

getTrackLabel()

获取本地轨道的来源描述

类型签名

getTrackLabel(): string;

返回

string

音频或视频轨道描述

setDevice()

更新设置轨道使用的媒体设备

类型签名

setDevice(deviceId: string): Promise<void>;

参数

参数

参数

描述

deviceId

string

设备 id

返回

Promise<void>

setEnabled()

启用/禁用该轨道。

轨道禁用后,播放和发布都将被停止,如果该轨道已发布,调用 setEnabled后,远端会触发 user-info-updated 事件。。

类型签名

setEnabled(enabled: boolean): Promise<void>;

参数

参数

参数

描述

enabled

boolean

是否启用该轨道 - true: 启用该轨道。 - false: 禁用该轨道。

返回

Promise<void>

setMuted()

发送或暂停发送该轨道的媒体数据。

如果该轨道已发布,调用 setMuted后,远端会触发 user-info-updated 事件。

类型签名

setMuted(muted: boolean): Promise<void>;

参数

参数

参数

描述

muted

boolean

发送或暂停发送该轨道的媒体数据 - true: 发送媒体数据 - false: 暂停发送媒体数据

返回

Promise<void>

on()

监听一个指定事件并设置回调函数

类型签名

on(event: string, fn: Function): void;

参数

参数

类型

描述

event

string

监听的指定事件

fn

Function

监听事件触发时的回调函数

返回

void

off()

取消一个指定事件的监听回调函数

类型签名

off(event: string, fn: Function): void;

参数

参数

类型

描述

event

string

监听的指定事件

fn

Function

监听事件触发时的回调函数

返回

void

once()

监听一个指定事件一次,回调函数触发后移除

类型签名

once(event: string, fn: Function): void;

参数

参数

类型

描述

event

string

监听的指定事件

fn

Function

监听事件触发时的回调函数

返回

void

removeAllListeners()

取消该对象指定事件或所有事件上的监听回调

类型签名

removeAllListeners(event?: string): void;

参数

参数

类型

描述

event

string

(Optional)设置了指定事件时,对应监听回调函数将会清空。当参数未填写时,对象的所有事件的监听函数都将清空

返回

void

事件列表

"track-ended"

音频或视频轨道被终止,终止的原因可能是:

- 摄像头被拔出

- 麦克风被拔出

- 用户主动停止了屏幕共享

- 用户主动关闭了底层的 MediaStreamTrack

- 媒体设备故障

- 正在使用中的媒体设备的权限被收回

类型签名:

'track-ended': () => void;