Skip to content

MediaStream

MediaStream 是 Web API 中的一个接口,表示包含多个轨道(MediaStreamTrack 对象,可能是音频或视频轨道)的媒体流。它是用于处理来自摄像头、麦克风或其他输入设备的实时媒体数据的核心组件。MediaStream 可以用于媒体捕获、处理和传输。

实例属性

active 只读

一个布尔值,如果 MediaStream 处于活动状态,则返回 true,否则返回 false。

id 只读

包含对象的 36 个字符的通用唯一标识符 (UUID) 的字符串。

实例方法

addTrack(track)

MediaStream 添加新的轨道。

clone()

创建 MediaStream 的副本,包含相同的轨道。

getAudioTracks()

返回包含所有音频轨道的数组。

getTrackById(trackId)

返回一个 MediaStreamTrack 对象,表示具有指定 ID 字符串的轨道。如果没有指定 ID,则此方法返回 null。

getTracks()

返回包含媒体流中所有轨道的数组。

js
const tracks = stream.getTracks();
tracks.forEach(track => {
  console.log(track.kind); // "audio" 或 "video"
});

getVideoTracks()

返回包含所有视频轨道的数组。

js
const videoTracks = stream.getVideoTracks();

removeTrack(track)

MediaStream 中移除指定的轨道。

事件

addtrack

当添加新的 MediaStreamTrack 对象时触发。

removetrack

当 MediaStreamTrack 对象被移除时触发。

active 非标准

当媒体流被激活时触发(非标准事件)。

inactive 非标准

当媒体流被非激活时触发(非标准事件)。

基于 MIT 许可发布