事件介绍
下面介绍一下浏览器在请求媒体数据、下载媒体数据、播放媒体数据一直到播放结束这一系列过程中,到底会触发哪些事件。
loadstart事件:浏览器开始请求媒介。
progress事件:浏览器正在获取媒介。
suspend事件:浏览器非主动获取媒介数据,但没有加载完整个媒介资源。
abort事件:浏览器在完全加载前中止获取媒介数据,但是并不是由错误引起的。
error事件:获取媒介数据出错。
emptied事件:媒介元素的网络状态突然变为未初始化;可能引起的原因有两个:①载入媒体过程中突然发生一个致命错误;②在浏览器正在选择支持的播放格式时,又调用了load方法重新载入媒体。
stalled事件:浏览器获取媒介数据异常。
play事件:即将开始播放,当执行了play方法时触发,或数据下载后元素被设为autoplay(自动播放)属性。
pause事件:暂停播放,当执行了pause方法时触发。
loadedmetadata事件:浏览器获取完媒介资源的时长和字节。
loadeddata事件:浏览器已加载当前播放位置的媒介数据。
waiting事件:播放由于下一帧无效(例如未加载)而停止(但浏览器确认下一帧会马上有效)。
playing事件:已经开始播放。
canplay事件:浏览器能够开始媒介播放,但估计以当前速率播放不能直接将媒介播放完(播放期间需要缓冲)。
canplaythrough事件:浏览器估计以当前速率直接播放可以直接播放完整个媒介资源(期间不需要缓冲)。
seeking事件:浏览器正在请求数据(seeking属性值为true)。
seeked事件:浏览器停止请求数据(seeking属性值为false)。
timeupdate事件:当前播放位置(currentTime属性)改变,可能是播放过程中的自然改变,也可能是被人为地改变,或由于播放不能连续而发生的跳变。
ended事件:播放由于媒介结束而停止。
ratechange事件:默认播放速率(defaultPlaybackRate属性)改变或播放速率(playbackRate属性)改变。
durationchange事件:媒介时长(duration属性)改变。
volumechange事件:音量(volume属性)改变或静音(muted属性)。
https://www.bilibili.com/video/BV1Gv4y1Q7px/?spm_id_from=333.999.0.0&vd_source=a7816e3b2a3a67ac39dc87f6bf92421chttps://www.bilibili.com/video/BV1Gv4y1Q7px/?spm_id_from=333.999.0.0&vd_source=a7816e3b2a3a67ac39dc87f6bf92421c