此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。

View in English Always switch to English

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 ⁨2015年7月⁩.

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

一個數字,為 HTMLMediaElement 介面上定義的五個可能狀態常數之一:

HTMLMediaElement.HAVE_NOTHING(0)

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

HTMLMediaElement.HAVE_METADATA(1)

已擷取足夠的媒體資源,使得後設資料屬性已被初始化。跳轉將不再拋出例外。

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

規範

Specification
HTML
# dom-media-readystate-dev

瀏覽器相容性

參見