This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The readyState
read-only property of the MediaSource
interface returns an enum representing the state of the current MediaSource
. The three possible values are:
closed
: The source is not currently attached to a media element.open
: The source is attached to a media element and ready to receive SourceBuffer
objects.ended
: The source is attached to a media element but the stream has been ended via a call to MediaSource.endOfStream()
.var myReadyState = mediaSource.readyState;
A DOMString
.
The following snippet is from a simple example written by Nick Desaulniers (view the full demo live, or download the source for further investigation.)
if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) { var mediaSource = new MediaSource; //console.log(mediaSource.readyState); // closed video.src = URL.createObjectURL(mediaSource); mediaSource.addEventListener('sourceopen', sourceOpen); } else { console.error('Unsupported MIME type or codec: ', mimeCodec); } function sourceOpen (_) { //console.log(this.readyState); // open var mediaSource = this; var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec); fetchAB(assetURL, function (buf) { sourceBuffer.addEventListener('updateend', function (_) { mediaSource.endOfStream(); video.play(); //console.log(mediaSource.readyState); // ended }); sourceBuffer.appendBuffer(buf); }); };
Specification | Status | Comment |
---|---|---|
Media Source Extensions The definition of 'readyState' in that specification. | Candidate Recommendation | Initial definition. |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 23 | (Yes) |
25.0 (25.0)[1] 42.0 (42.0) | 11[2] | 15 | 8 |
Feature | Android | Edge | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 4.4.4 | (Yes) | No support | No support | 11 | 30 | No support |
[1] Available after switching the about:config
preference media.mediasource.enabled
to true
. In addition, support was limited to a whitelist of sites, for example YouTube, Netflix, and other popular streaming sites. The whitelist was removed and Media Source Extensions was enabled by default in 42+ for all sites.
[2] Only works on Windows 8+.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaSource/readyState