MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

媒体流(MediaStream)

MediaStream 接口是一个媒体内容的流.。一个流包含几个轨道,比如视频和音频轨道。

属性

MediaStream.ended 只读
布尔型。如果 ended 事件在这个对象上触发了,也就是说这个流已经被完全读取,值为true。 如果还没有到达这个流的尾部,值为false。
MediaStream.id 只读
这是一个包含36个字符的 DOMString ,用来作为这个对象的唯一标识符 (GUID) 。

事件处理

MediaStream.onaddtrack
这是addtrack事件在这个对象上触发时调用的事件处理器[EventHandler],这时一个MediaStreamTrack对象被添加到这个流。
MediaStream.onended
这是当流终止[ended]时触发的事件。
MediaStream.onremovetrack
这是removetrack事件在这个对象上触发事调用的事件处理器[EventHandler],这时一个对象从流上移除。

方法

MediaStream.addTrack()
存储传入参数 MediaStreamTrack 的一个副本。如果这个轨道已经被添加到了这个媒体流,什么也不会发生; 如果目标轨道为“完成”状态(也就是已经到尾部了),一个INVALID_STATE_RAISE异常会产生。
MediaStream.clone()
返回这个MediaStream对象的克隆版本。返回的版本会有一个新的ID。
返回给定ID的轨道。如果没有参数或者没有指定ID的轨道,将返回null。如果有几个轨道有同一个ID,将返回第一个。
MediaStream.getAudioTracks()
返回流中kind属性为"audio"的MediaStreamTrack列表。顺序是不确定的,不同浏览器间会有不同,每次调用也有可能不同。
MediaStream.getTrackById()
返回给定ID的轨道。如果没有参数或者没有指定ID的轨道,将返回null。如果有几个轨道有同一个ID,将返回第一个。
MediaStream.getVideoTracks()
返回流中kind属性为"video"的MediaStreamTrack列表。顺序是不确定的,不同浏览器间会有不同,每次调用也有可能不同。
MediaStream.removeTrack()
移除作为参数传入的 MediaStreamTrack。 如果这个轨道不在MediaStream对象中什么也不会发生; 如果目标轨道为“完成”状态,一个INVALID_STATE_RAISE异常会产生。

说明

说明 状态 评论
Media Capture and Streams
MediaStream
Editor's Draft  

浏览器支持情况

特性 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) (Yes) 未实现 未实现 ?
getAudioTracks() and getVideoTracks() (Yes) 23.0 (23.0) 未实现 未实现 ?
id (Yes) 41.0 (41.0) ? ? ?
ended, label, and stop() 未实现 [1]        
特性 Android Android Webview Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support ? (Yes) (Yes) 未实现 未实现 ? (Yes)
getAudioTracks() and getVideoTracks() ? (Yes) 23.0 (23.0) 未实现 未实现 ? (Yes)
id ? (Yes) 41.0 (41.0) ? ? ? (Yes)
ended, label, and stop() ? 未实现 [1]         未实现 [1]

[1] 在Chrome 45中已标为过时, 在Chrome 47中移除.

相关内容

  • Using the MediaStream API

文档标签和贡献者

 此页面的贡献者: Cattla, luojia
 最后编辑者: Cattla,