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 | 
浏览器兼容性
加载中…