媒体流 (MediaStream)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
MediaStream
接口是一个媒体内容的流.。一个流包含几个轨道,比如视频和音频轨道。
属性
MediaStream.active
只读-
布尔型。如果这个流处于活动状态值为 true,反之为 false
MediaStream.ended
只读 已弃用-
布尔型。如果
ended
事件在这个对象上触发了,也就是说这个流已经被完全读取,值为 true。如果还没有到达这个流的尾部,值为 false。 MediaStream.id
只读-
这是一个包含 36 个字符的
DOMString
,用来作为这个对象的唯一标识符 (GUID) 。
事件处理
MediaStream.onaddtrack
-
这是
addtrack
事件在这个对象上触发时调用的事件处理器,这时一个MediaStreamTrack
对象被添加到这个流。 MediaStream.onended
-
这是当流终止
ended
时触发的事件。 MediaStream.onremovetrack
-
这是
removetrack
事件在这个对象上触发事调用的事件处理器,这时一个对象从流上移除。
方法
MediaStream.addTrack()
- : 存储传入参数
MediaStreamTrack
的一个副本。如果这个轨道已经被添加到了这个媒体流,什么也不会发生; 如果目标轨道为“完成”状态(也就是已经到尾部了),一个 INVALID_STATE_RAISE 异常会产生。
- : 存储传入参数
MediaStream.clone()
- 返回这个
MediaStream 对象的克隆版本。返回的版本会有一个新的 ID
。 - 返回给定 ID 的轨道。如果没有参数或者没有指定 ID 的轨道,将返回 null。如果有几个轨道有同一个 ID,将返回第一个。
- 返回这个
MediaStream.getTracks()
- : 返回流中所有的
MediaStreamTrack
列表。
- : 返回流中所有的
MediaStream.getAudioTracks()
- : 返回流中 kind 属性为"audio"的
MediaStreamTrack
列表。顺序是不确定的,不同浏览器间会有不同,每次调用也有可能不同。
- : 返回流中 kind 属性为"audio"的
MediaStream.getTrackById()
- : 返回给定 ID 的轨道。如果没有参数或者没有指定 ID 的轨道,将返回 null。如果有几个轨道有同一个 ID,将返回第一个。
MediaStream.getVideoTracks()
- : 返回流中 kind 属性为"video"的
MediaStreamTrack
列表。顺序是不确定的,不同浏览器间会有不同,每次调用也有可能不同。
- : 返回流中 kind 属性为"video"的
MediaStream.removeTrack()
- : 移除作为参数传入的
MediaStreamTrack
。如果这个轨道不在MediaStream
对象中什么也不会发生; 如果目标轨道为“完成”状态,一个 INVALID_STATE_RAISE 异常会产生。
- : 移除作为参数传入的
规范
Specification |
---|
Media Capture and Streams # mediastream |
浏览器兼容性
BCD tables only load in the browser
相关内容
- Using the MediaStream API