MediaStream
interface represents a stream of media content. A stream consists of several
tracks
such as video or audio tracks. Each track is specified as an instance of
MediaStreamTrack
.
You can obtain a MediaStream object either by using the constructor or by calling
MediaDevices.getUserMedia()
.
Some user agents subclass this interface to provide more precise information or functionality, like in
CanvasCaptureMediaStream
.
MediaStream()
MediaStreamTrack
对象)。
This interface inherits properties from its parent,
EventTarget
.
MediaStream.active
只读
true
若
MediaStream
is active, or
false
否则。
MediaStream.ended
只读
true
if the end of the stream has been reached. This has been removed from the specification; you should instead check the value of
MediaStreamTrack.readyState
to see if its value is
ended
for the track or tracks you want to ensure have finished playing.
MediaStream.id
只读
DOMString
containing 36 characters denoting a universally unique identifier (UUID) for the object.
MediaStream.onaddtrack
EventHandler
containing the action to perform when an
addtrack
event is fired when a new
MediaStreamTrack
object is added.
MediaStream.onremovetrack
EventHandler
containing the action to perform when a
removetrack
event is fired when a
MediaStreamTrack
object is removed from it.
This interface inherits methods from its parent,
EventTarget
.
MediaStream.addTrack()
MediaStreamTrack
given as argument. If the track has already been added to the
MediaStream
object, nothing happens.
MediaStream.clone()
MediaStream
object. The clone will, however, have a unique value for
id
.
MediaStream.getAudioTracks()
MediaStreamTrack
objects stored in the
MediaStream
object that have their
kind
属性设置为
audio
. The order is not defined, and may not only vary from one browser to another, but also from one call to another.
MediaStream.getTrackById()
trackid
. If no parameter is given, or if no track with that ID does exist, it returns
null
. If several tracks have the same ID, it returns the first one.
MediaStream.getTracks()
MediaStreamTrack
objects stored in the
MediaStream
object, regardless of the value of the
kind
attribute. The order is not defined, and may not only vary from one browser to another, but also from one call to another.
MediaStream.getVideoTracks()
MediaStreamTrack
objects stored in the
MediaStream
object that have their
kind
属性设置为
"video"
. The order is not defined, and may not only vary from one browser to another, but also from one call to another.
MediaStream.removeTrack()
MediaStreamTrack
given as argument. If the track is not part of the
MediaStream
object, nothing happens.
addtrack
MediaStreamTrack
object is added.
onaddtrack
特性。
removetrack
MediaStreamTrack
object has been removed.
onremovetrack
特性。
active
Fired when the MediaStream is activated.
inactive
Fired when the MediaStream is inactivated.
| 规范 | 状态 | 注释 |
|---|---|---|
|
媒体捕获和流
The definition of 'MediaStream' in that specification. |
候选推荐 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
MediaStream
|
Chrome
55
|
Edge 12 | Firefox 15 | IE No |
Opera
42
|
Safari 11 |
WebView Android
55
|
Chrome Android
55
|
Firefox Android 15 |
Opera Android
42
|
Safari iOS 11 |
Samsung Internet Android
6.0
|
MediaStream()
构造函数
|
Chrome 21 | Edge ≤18 | Firefox 44 | IE No | Opera 42 | Safari No | WebView Android 37 | Chrome Android 25 | Firefox Android 42 | Opera Android No | Safari iOS No | Samsung Internet Android 6.0 |
active
|
Chrome 45 | Edge 12 | Firefox 52 | IE No | Opera No | Safari Yes | WebView Android 45 | Chrome Android 45 | Firefox Android 52 | Opera Android No | Safari iOS Yes | Samsung Internet Android 5.0 |
active
event
|
Chrome 45 | Edge ≤79 | Firefox ? | IE No | Opera ? | Safari ? | WebView Android 45 | Chrome Android 45 | Firefox Android ? | Opera Android No | Safari iOS ? | Samsung Internet Android 5.0 |
addTrack
|
Chrome 26 | Edge 12 | Firefox 44 | IE No | Opera No | Safari Yes | WebView Android 37 | Chrome Android 26 | Firefox Android No | Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
addtrack
event
|
Chrome Yes | Edge 12 | Firefox 50 | IE No | Opera No | Safari Yes | WebView Android Yes | Chrome Android Yes | Firefox Android 50 | Opera Android No | Safari iOS Yes | Samsung Internet Android Yes |
clone
|
Chrome 45 | Edge 12 | Firefox 48 | IE No | Opera No | Safari Yes | WebView Android 45 | Chrome Android 45 | Firefox Android 48 | Opera Android No | Safari iOS Yes | Samsung Internet Android 5.0 |
ended
弃用
|
Chrome
? — 54
|
Edge ? | Firefox No | IE No | Opera ? — 39 | Safari ? |
WebView Android
? — 54
|
Chrome Android
? — 54
|
Firefox Android No | Opera Android ? — 41 | Safari iOS ? |
Samsung Internet Android
? — 6.0
|
getAudioTracks
|
Chrome 26 | Edge 12 |
Firefox
22
|
IE No | Opera Yes | Safari Yes | WebView Android 37 | Chrome Android 26 |
Firefox Android
22
|
Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
getTrackById
|
Chrome 26 | Edge 12 | Firefox 49 | IE No | Opera No | Safari Yes | WebView Android 37 | Chrome Android 26 | Firefox Android 49 | Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
getTracks
|
Chrome 45 | Edge 12 | Firefox Yes | IE No | Opera Yes | Safari Yes | WebView Android 45 | Chrome Android 45 | Firefox Android Yes | Opera Android No | Safari iOS Yes | Samsung Internet Android 5.0 |
getVideoTracks
|
Chrome 26 | Edge 12 |
Firefox
22
|
IE No | Opera Yes | Safari Yes | WebView Android 37 | Chrome Android 26 |
Firefox Android
22
|
Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
id
|
Chrome ? — 54 | Edge 12 — 79 | Firefox 41 | IE No | Opera ? — 39 | Safari Yes | WebView Android ? — 54 | Chrome Android ? — 54 | Firefox Android 41 | Opera Android ? — 41 | Safari iOS Yes | Samsung Internet Android ? — 6.0 |
inactive
event
|
Chrome 45 | Edge ≤79 | Firefox ? | IE No | Opera ? | Safari ? | WebView Android 45 | Chrome Android 45 | Firefox Android ? | Opera Android No | Safari iOS ? | Samsung Internet Android 5.0 |
label
弃用
|
Chrome
? — 54
|
Edge ? | Firefox ? | IE No | Opera No | Safari ? |
WebView Android
? — 54
|
Chrome Android
? — 54
|
Firefox Android ? | Opera Android No | Safari iOS ? |
Samsung Internet Android
? — 6.0
|
onactive
|
Chrome 45 | Edge ≤79 | Firefox ? | IE No | Opera ? | Safari ? | WebView Android 45 | Chrome Android 45 | Firefox Android ? | Opera Android No | Safari iOS ? | Samsung Internet Android 5.0 |
onaddtrack
|
Chrome 26 | Edge 12 | Firefox 50 | IE No | Opera No | Safari Yes | WebView Android 37 | Chrome Android 26 | Firefox Android 50 | Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
oninactive
|
Chrome 45 | Edge ≤79 | Firefox ? | IE No | Opera ? | Safari ? | WebView Android 45 | Chrome Android 45 | Firefox Android ? | Opera Android No | Safari iOS ? | Samsung Internet Android 5.0 |
onremovetrack
|
Chrome 26 | Edge 12 | Firefox No | IE No | Opera No | Safari Yes | WebView Android 37 | Chrome Android 26 | Firefox Android No | Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
removeTrack
|
Chrome 26 | Edge 12 | Firefox Yes | IE No | Opera Yes | Safari Yes | WebView Android 37 | Chrome Android 26 | Firefox Android Yes | Opera Android No | Safari iOS Yes | Samsung Internet Android 1.5 |
removetrack
event
|
Chrome Yes | Edge 12 | Firefox No | IE No | Opera No | Safari Yes | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS Yes | Samsung Internet Android Yes |
stop
弃用
|
Chrome ? — 47 | Edge 13 — 79 | Firefox ? | IE No | Opera No | Safari ? | WebView Android ? — 47 | Chrome Android ? — 47 | Firefox Android ? | Opera Android No | Safari iOS ? | Samsung Internet Android ? — 5.0 |
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
弃用。不要用于新网站。
见实现注意事项。
要求使用供应商前缀或不同名称。
MediaStreamTrack
MediaStream
AudioStreamTrack
BlobEvent
CanvasCaptureMediaStream
ConstrainBoolean
ConstrainDOMString
ConstrainDouble
ConstrainLong
DoubleRange
HTMLCanvasElement.captureStream()
LongRange
MediaDevices
MediaStreamTrack
MediaStreamTrackEvent
MediaTrackCapabilities
MediaTrackConstraints
MediaTrackSettings
MediaTrackSupportedConstraints
Navigator.mediaDevices
NavigatorUserMedia
NavigatorUserMediaError
VideoStreamTrack
navigator.mediaDevices.getUserMedia()