您现在的位置是:网站首页>>前端技术>>html+css+js

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

发布时间:2021-01-27 15:32:55作者:wangjian浏览量:278点赞量:1

    今天接到一个需求,要求用户播放视频时,退出后下次再次播放此视频时需要从上次播放的进度开始播放,这里我们使用到了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)
    });

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

1 +1