HTML中Audio/Video的常用DOM方法属性和事件
方法
load():重新加载音频/视频元素,用于在更改来源或其他设置后对音频/视频元素进行更新。
play():开始播放音频/视频。
pause():暂停当前播放的音频/视频。
属性
autoplay :设置或返回是否在加载完成后自动播放
buffered :返回表示音频/视频已缓冲部分的TimeRanges对象
p.buffered.start(0) :第一段缓冲开始时间
p.buffered.end(0) :第一段缓冲结束时间
p.buffered.start(1) :第二段缓冲(如果有)开始时间
p.buffered.end(1) :第二段缓冲(如果有)结束时间
controls :设置或返回音频/视频是否显示控件。
currentSrc :返回当前音频/视频的 URL。
currentTime :设置或返回音频/视频中的当前播放位置(以秒计)。
defaultMuted :设置或返回音频/视频默认是否静音,设置该属性仅会改变默认的静音状态,而不是当前的。
defaultPlaybackRate :设置或返回音频/视频的默认播放速度。
duration :返回当前音频/视频的长度(以秒计)。
ended :返回音频/视频的播放是否已结束。
loop :设置或返回音频/视频是否应在结束时重新播放。
muted :设置或返回音频/视频是否静音。
networkState :返回音频/视频的当前网络状态代表的数字。
0 = NETWORK_EMPTY - 音频/视频尚未初始化
1 = NETWORK_IDLE - 音频/视频是活动的且已选取资源,但并未使用网络
2 = NETWORK_LOADING - 浏览器正在下载数据
3 = NETWORK_NO_SOURCE - 未找到音频/视频来源
paused :设置或返回音频/视频是否暂停。
playbackRate :设置或返回音频/视频播放的速度。
played :返回表示音频/视频已播放部分的 TimeRanges 对象,使用方法和buffered属性相似。
preload :设置或返回音频/视频是否应该在页面加载后进行加载。
auto :指示一旦页面加载,则开始加载音频/视频。
metadata :指示当页面加载后仅加载音频/视频的元数据。
none :指示页面加载后不应加载音频/视频。
readyState :返回音频/视频当前的就绪状态。
0 = HAVE_NOTHING - 没有关于音频/视频是否就绪的信息
1 = HAVE_METADATA - 关于音频/视频就绪的元数据
2 = HAVE_CURRENT_DATA - 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒
3 = HAVE_FUTURE_DATA - 当前及至少下一帧的数据是可用的
4 = HAVE_ENOUGH_DATA - 可用数据足以开始播放
seekable :返回表示音频/视频可寻址部分的 TimeRanges 对象,使用方法和buffered属性相似。。
seeking :返回是否正在音频/视频中进行查找,指的是用户在音频/视频中移动/跳跃到新的位置。
src :设置或返回音频/视频元素的当前来源。
volume :设置或返回音频/视频的音量,设置的值从0.0至1.0,默认1.0。
事件
abort :当音频/视频的加载已终止时触发(不是发生错误时触发)
canplay :当浏览器可以开始播放音频/视频时触发。
canplaythrough :当浏览器预计能够在不停下来进行缓冲的情况下持续播放时触发。
durationchange :当音频/视频的时长已更改时触发,当音频/视频加载后,时长将由 "NaN" 变为音频/视频的实际时长。
ended :当前播放列表已播放结束时触发。
error :当在音频/视频加载期间发生错误时触发。
loadeddata :当前帧的数据已加载,但没有足够的数据来播放下一帧时触发。
loadedmetadata :当浏览器已加载音频/视频的元数据时触发,元数据包括:时长、尺寸(仅视频)以及文本轨道。
loadstart :当浏览器开始寻找指定的音频/视频时触发。
pause :当音频/视频已暂停时触发。
play :当音频/视频已开始或不再暂停时触发。
playing :当音频/视频在因缓冲而暂停或停止后已就绪时触发。和play事件的区别就在于play发生在缓冲开始时,而playing发生在缓冲结束时。
progress :当浏览器正在下载音频/视频时触发。
ratechange :当音频/视频的播放速度已更改时触发。
seeked :当用户完成移动/跳跃到音频/视频中的新位置时触发。
seeking :当用户开始移动/跳跃到音频/视频中的新位置时触发。
stalled :当浏览器尝试获取媒体数据,但数据不可用时触发。
suspend :当浏览器刻意不获取媒体数据时(浏览器阻止)触发。
timeupdate :当目前的播放位置已更改时触发,随着播放的进行持续触发。
volumechange :当音量已更改时触发。
waiting :当视频由于需要缓冲下一帧而停止时触发。
影响多媒体数据加载的事件有:emptied、error、stalled、suspend
当音频/视频处于加载过程中时,会依次发生以下事件:
loadstart
durationchange
loadedmetadata
loadeddata
progress
canplay
canplaythrough