HTMLMediaElement: readyState 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

HTMLMediaElement.readyState 屬性指示媒體的就緒狀態。

一個數字,表示 HTMLMediaElement 介面上定義的五個可能狀態常量之一。

HTMLMediaElement.HAVE_NOTHING (0)

關於媒體資源,沒有可用資訊。

HTMLMediaElement.HAVE_METADATA (1)

媒體資源的足夠部分已被檢索,可以初始化元資料屬性。此後,seeking 不會再引發異常。

HTMLMediaElement.HAVE_CURRENT_DATA (2)

當前播放位置的資料可用,但不足以播放超過一幀。

HTMLMediaElement.HAVE_FUTURE_DATA (3)

當前播放位置以及至少稍後一段時間的資料都可用(例如,至少有兩幀影片)。

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

規範

規範
HTML
# dom-media-readystate-dev

瀏覽器相容性

另見