HTMLMediaElement:readyState 属性

基线 广泛可用

此功能已得到很好的建立,并且可以在许多设备和浏览器版本中使用。它自以下时间起在浏览器中可用: 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();
  }
});

规范

规范
HTML 标准
# dom-media-readystate-dev

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅