LocalTrack 是 Web SDK 中定义本地音视频轨道的基础类,可用于本地播放和发布。
SDK 通过不同的方式创建不同的 LocalTrack,返回不同的 LocalTrack 派生类对象
属性列表
属性 | 类型 | 描述 | 支持的最低版本 |
isPlaying | boolean | 媒体轨道是否正在播放 | 3.0.0 |
trackMediaType | 媒体轨道类型 | 3.0.0 | |
enabled | boolean | 本地轨道当前的启用状态。 | 3.0.0 |
muted | boolean | 是否 mute | 3.0.0 |
接口列表
接口 | 描述 | 支持的最低版本 |
获取媒体轨道 | 3.0.0 | |
获取流轨道 id | 3.0.0 | |
在页面上播放媒体轨道 | 3.0.0 | |
替换音视频轨道 | 3.0.0 | |
停止播放 | 3.0.0 | |
取消一个指定事件的监听回调函数 | 3.0.0 | |
监听一个指定事件并设置回调函数 | 3.0.0 | |
监听一个指定事件一次,回调函数触发后移除 | 3.0.0 | |
取消该对象指定事件或所有事件上的监听回调 | 3.0.0 |
事件列表
事件 | 事件参数 | 描述 | 支持的最低版本 |
() => 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 | (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;