MediaStream

MediaStream媒体捕获和流 API 的一个接口,它代表媒体内容流。流由多个 **轨道** 组成,例如视频或音频轨道。每个轨道都被指定为 MediaStreamTrack 的实例。

您可以通过使用构造函数或调用诸如 MediaDevices.getUserMedia()MediaDevices.getDisplayMedia()HTMLCanvasElement.captureStream()HTMLMediaElement.captureStream() 之类的函数来获取 MediaStream 对象。

EventTarget MediaStream

构造函数

MediaStream()

创建并返回一个新的 MediaStream 对象。您可以创建一个空流、一个基于现有流的流,或者一个包含指定轨道列表的流(指定为 MediaStreamTrack 对象数组)。

实例属性

此接口从其父级 EventTarget 继承属性。

MediaStream.active 只读

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

MediaStream.id 只读

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

实例方法

此接口从其父级 EventTarget 继承方法。

MediaStream.addTrack()

存储作为参数给出的 MediaStreamTrack 的副本。如果该轨道已添加到 MediaStream 对象,则不会发生任何操作。

MediaStream.clone()

返回 MediaStream 对象的克隆。但是,克隆将具有 id 的唯一值。

MediaStream.getAudioTracks()

返回存储在 MediaStream 对象中且其 kind 属性设置为 audioMediaStreamTrack 对象列表。顺序未定义,可能不仅因浏览器而异,而且因调用而异。

MediaStream.getTrackById()

返回其 ID 与参数中给出的 trackid 相对应的轨道。如果没有给出参数,或者如果不存在具有该 ID 的轨道,则返回 null。如果多个轨道具有相同的 ID,则返回第一个轨道。

MediaStream.getTracks()

返回存储在 MediaStream 对象中的所有 MediaStreamTrack 对象列表,无论 kind 属性的值如何。顺序未定义,可能不仅因浏览器而异,而且因调用而异。

MediaStream.getVideoTracks()

返回存储在 MediaStream 对象中且其 kind 属性设置为 "video"MediaStreamTrack 对象列表。顺序未定义,可能不仅因浏览器而异,而且因调用而异。

MediaStream.removeTrack()

删除作为参数给出的 MediaStreamTrack。如果该轨道不是 MediaStream 对象的一部分,则不会发生任何操作。

事件

addtrack

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

removetrack

MediaStreamTrack 对象被删除时触发。

active 非标准

当 MediaStream 被激活时触发。

inactive 非标准

当 MediaStream 被停用时触发。

规范

规范
媒体捕获和流
# mediastream

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅