HTMLMediaElement: readyState プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTMLMediaElement.readyState プロパティは、メディアの準備状態を示します。

数値で、HTMLMediaElement インターフェイスで定義する 5 つの可能な状態定数のうちの 1 つです。

HTMLMediaElement.HAVE_NOTHING (0)

このメディアリソースに関する情報がありません。

HTMLMediaElement.HAVE_METADATA (1)

メタデータ属性を初期化するのに十分なメディアリソースが取得されました。 シークしても例外が発生しません。

HTMLMediaElement.HAVE_CURRENT_DATA (2)

現在の再生位置にデータがありますが、実際には複数のフレームを再生するのに十分ではありません。

HTMLMediaElement.HAVE_FUTURE_DATA (3)

現在の再生位置と将来までの少なくともほんの少しの時間のデータが(つまり、例えば、少なくとも 2 フレームの動画)利用可能です。

HTMLMediaElement.HAVE_ENOUGH_DATA (4)

十分なデータが利用可能であり、ダウンロードレートが十分に高いため、メディアを中断することなく最後まで再生できます。

この例では、音声データを読み込むために example 要素で待ち受けします。そして、少なくとも現在の再生位置が読み込まれているかどうかをチェックします。読み込まれていれば、音声を再生します。

html
<audio id="example" preload="auto">
  <source src="sound.ogg" type="audio/ogg" />
</audio>
js
const obj = document.getElementById("example");

obj.addEventListener("loadeddata", () => {
  if (obj.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) {
    obj.play();
  }
});

仕様書

Specification
HTML
# dom-media-readystate-dev

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
readyState

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報

  • HTMLMediaElement: HTMLMediaElement.readyState プロパティを定義しているインターフェイス