MediaStream
MediaStream
是 媒体捕获和流 API 的一个接口,它代表媒体内容流。流由多个 **轨道** 组成,例如视频或音频轨道。每个轨道都被指定为 MediaStreamTrack
的实例。
您可以通过使用构造函数或调用诸如 MediaDevices.getUserMedia()
、MediaDevices.getDisplayMedia()
或 HTMLCanvasElement.captureStream()
和 HTMLMediaElement.captureStream()
之类的函数来获取 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
属性设置为audio
的MediaStreamTrack
对象列表。顺序未定义,可能不仅因浏览器而异,而且因调用而异。 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 表仅在浏览器中加载