实现video视频播放记录当前播放进度,下次播放时从上次播放进度开始播放

今天接到一个需求,要求用户播放视频时,退出后下次再次播放此视频时需要从上次播放的进度开始播放,这里我们使用到了video标签的currentTime属性(设置或返回音频/视频中的当前播放位置(以秒计))以及timeupdate方法(当目前的播放位置已更改时触发)

例:

1:html

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)
});

根据如上我们就可以实现下次播放视频时,从上次播放的位置进行播放

你可能感兴趣的:(实现video视频播放记录当前播放进度,下次播放时从上次播放进度开始播放)