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

浏览器兼容性表格

{{Compat("api.MediaSource.readyState")}}

See also