--- title: MediaSource.readyState slug: Web/API/MediaSource/readyState translation_of: Web/API/MediaSource/readyState ---
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}

readyState是 {{domxref("MediaSource")}} 接口的一个只读属性。它返回一个集合表明当前MediaSource的状态。它有三种可能的返回值:

语法

var myReadyState = mediaSource.readyState;

A {{domxref("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
{{SpecName('Media Source Extensions', '#widl-MediaSource-readyState', 'readyState')}} {{Spec2('Media Source Extensions')}} Initial definition.

浏览器兼容性表格

{{CompatibilityTable}}
Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 23 {{CompatVersionUnknown}} {{CompatGeckoDesktop("25.0")}}[1]
{{CompatGeckoDesktop("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 {{CompatVersionUnknown}}

{{CompatNo}}

{{CompatNo}} 11 30 {{CompatNo}}

[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+.

See also