MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

HTMLMediaElement.readyState

HTMLMediaElement.readyState 属性返回音频/视频的当前就绪状态。

语法

var readyState = audioOrVideo.readyState;

返回值

无符号整型 An unsigned short.

Constant Value Description
HAVE_NOTHING 0 没有关于音频/视频是否就绪的信息
HAVE_METADATA 1 音频/视频以初始化
HAVE_CURRENT_DATA 2 数据已经可以播放(当前位置已经加载) 但没有数据能播放下一帧的内容
HAVE_FUTURE_DATA 3 当前及至少下一帧的数据是可用的(换句话来说至少有两帧的数据)
HAVE_ENOUGH_DATA 4  可用数据足以开始播放-如果网速得到保障 那么视频可以一直播放到底

实例

这个例子会监听id为example的 audio 的数据. 他会检查当前位置是否可以播放, 会的话执行播放。

<audio id="example" preload="auto">
 <source src="sound.ogg" type="audio/ogg" />
</audio>

var obj = document.getElementById('example');

obj.addEventListener('loadeddata', function() {

  if(obj.readyState >= 2) {
    obj.play();
  }

});

 

参考文档

Specification Status Comment
WHATWG HTML Living Standard
HTMLMediaElement.readyState
Living Standard No change from HTML5
HTML5
HTMLMediaElement.readyState
Recommendation Initial definition.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 3.5 (1.9.1) [1] 9 ? ?
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) ? (Yes) (Yes)

[1] The NETWORK_LOADED state was removed to align with the HTML spec in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1). 

你或许还可以看看

文档标签和贡献者

 此页面的贡献者: haocity
 最后编辑者: haocity,