今天接到一个需求,要求用户播放视频时,退出后下次再次播放此视频时需要从上次播放的进度开始播放,这里我们使用到了video标签的currentTime属性(设置或返回音频/视频中的当前播放位置(以秒计))以及timeupdate方法(当目前的播放位置已更改时触发)
例:
1:html
<video src="视频地址" controls="controls" autoplay="autoplay" width="92%"></video>
2:js
var myvideo = document.getElementsByTagName("video")[0]
var setTimeFlag = 1;//currentTime属性赋值次数
//当目前的播放位置已更改时触发
myvideo.addEventListener("timeupdate", function(){
if(setTimeFlag == 1){
//获取localStorage中记录的currentTime值,并给currentTime属性进行赋值
if (localStorage.getItem('currentTime' + '{$study->study_id}') != null) {
var time = localStorage.getItem('currentTime' + '{$study->study_id}');
myvideo.currentTime = time;
}
setTimeFlag = 2;
}
//获取当前播放位置的秒数,并设置localStorage
var currentTime = myvideo.currentTime;
localStorage.setItem('currentTime' + '{$study->study_id}', currentTime)
});
根据如上我们就可以实现下次播放视频时,从上次播放的位置进行播放
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。