媒体流 (MediaStream)
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