html5 video 实时监测当前播放时间以及监测播放结束

<div class="vbox">
    <video id="video" preload="auto" webkit-playsinline="true" x-webkit-airplay="true" playsinline x5-video-player-type="h5" x5-video-player-fullscreen="true" src='http://img.cdn.funqgame.com/video/rlrnomusic_1.mp4'></video>
    <div class="lightbox one"></div>
    <div class="lightbox two"></div>
    <div class="skip"></div>
</div>
<script>
    // 视频渲染监听视频播放结束
    var v = document.getElementById("video");
    v.addEventListener('play',function () {
        var i = window.setInterval(function () {
            if(v.ended){
                clearInterval(i);
                $(".titlebox").show();
                $(".gift-content").show();
                $(".vbox").hide();
            }
        }, 20)
    },false);
 //监听播放时间,具体到毫秒
    var vkey1 = true;
    var vkey2 = true;
      v.addEventListener("timeupdate",function() {
        var timeDisplay;
        //用秒数来显示当前播放进度
        timeDisplay = v.currentTime;
        if (timeDisplay > 62.5 && vkey1) {
            v.pause();
            $(".vbox .one").show();
            vkey1= false;
        }
        if (timeDisplay > 79.7 && vkey2) {
            v.pause();
            $(".vbox .two").show();
            vkey2 = false;
        }
    },false)
</script>

 

HTML5video标签提供了断点播放的功能,即当视频暂停后再次播放时能够从暂停的位置继续播放。 要实现断点播放,首先需要获取到视频当前播放时间,可以使用video元素的currentTime属性来获取。在用户点击暂停按钮或视频播放结束时,可以将当前播放时间保存到本地存储(比如Cookie、LocalStorage或SessionStorage)中。 当用户再次打开页面或重新加载页面时,可以先检查本地存储中是否存在已保存的播放时间。如果存在则可以通过JavaScript将视频的currentTime设置为保存的播放时间,然后调用play方法来继续播放视频。 以下是一个简单的示例代码: ```html <!DOCTYPE html> <html> <body> <video id="my-video" width="320" height="240"> <source src="video.mp4" type="video/mp4"> </video> <button onclick="pauseVideo()">暂停</button> <button onclick="resumeVideo()">继续播放</button> <script> var video = document.getElementById("my-video"); function pauseVideo() { // 暂停视频并保存当前播放时间 video.pause(); localStorage.setItem("playbackPosition", video.currentTime); } function resumeVideo() { // 检查是否有保存的播放时间,并继续播放视频 var playbackPosition = localStorage.getItem("playbackPosition"); if (playbackPosition) { video.currentTime = playbackPosition; video.play(); } } </script> </body> </html> ``` 上述代码中,当用户点击“暂停”按钮时,会调用pauseVideo函数,其中通过video.pause()暂停视频播放,并使用localStorage.setItem将当前播放时间保存到本地存储中。 当用户点击“继续播放”按钮时,会调用resumeVideo函数,其中通过localStorage.getItem获取保存的播放时间,并使用video.currentTime设置视频当前播放时间,最后调用video.play()来继续播放视频。 这样,用户就可以从之前暂停的位置继续播放视频。当然,你也可以根据实际需求使用其他的本地存储方式来保存播放时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值