HTMLMediaElement.readyState

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

unsigned short 型です。 可能な値は次のとおりです。

定数 説明
HAVE_NOTHING 0 メディアリソースに関する情報はありません。
HAVE_METADATA 1 メタデータ属性を初期化するのに十分なメディアリソースが取得されました。 シークならば例外を発生させません。
HAVE_CURRENT_DATA 2 現在の再生位置にデータがありますが、実際には複数のフレームを再生するのに十分ではありません。
HAVE_FUTURE_DATA 3 現在の再生位置と将来までの少なくともほんの少しの時間のデータが利用可能です(つまり、例えば、少なくとも 2 フレームの動画)。
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 >= 2) {
    obj.play();
  }
});

仕様書

Specification
HTML Standard
# dom-media-readystate-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報