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

{{domxref("MediaSource")}} 介面的唯讀屬性 readyState 回傳表示當前 MediaSource 狀態的列舉值。三種可能的值為:

語法

var myReadyState = mediaSource.readyState;

回傳值

一個 {{domxref("DOMString")}}。

範例

以下片段是由 Nick Desaulniers 所撰寫的簡單範例(在此實際觀看,或者下載原始碼以更進一步研究)

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);
  });
};

規格

規格 狀態 註釋
{{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] 在切換 about:config preference media.mediasource.enabled 為 true 時可以使用。此外,支援只限於白名單內的網站,如:YouTube, Netflix, 以及其他熱門的串流網站。白名單已經被移除且 Media Source Extensions 在 42+ 對所有網站已預設為啟用。

[2] 只在 Windows 8+ 上有效。

相關資料