1、源码
<template> <el-dialog class="videobox" :title="title" :visible.sync="visible" width="40%" :before-close="handleclose" :close-on-click-modal="false" :close-on-press-escape="false"> <video id="video" controls preload autoplay="autoplay" style="width: 100%" @canplay="getvideodur"> <source :src="videourl" type="video/mp4"> </video> </el-dialog> </template> <script> export default { name: 'videoplayback', data() { return { // 标题 title: null, // 是否显示弹框 visible: false, // 视频地址 videourl: null } }, methods: { /** * 初始化视频 */ initvideo() { this.$nexttick(() => { let myvideo = document.getelementbyid('video') myvideo.pause() myvideo.load() }); }, /** * 监听视频 */ getvideodur() { //监听播放时间 var video = document.getelementbyid("video"); // //使用事件监听方式捕捉事件 // video.addeventlistener("timeupdate", function () { // var timedisplay = math.floor(video.currenttime); // var duration = math.floor(video.duration); // console.log("总时长", duration); // console.log("当前播放的时长", timedisplay); // }, false); // 监听视频播放 // video.addeventlistener("play", function () { // var duration = math.floor(video.duration); // console.log("总时长", duration); // var timedisplay = math.floor(video.currenttime); // console.log("视频开始时长", timedisplay); // }) // 监听视频暂停 video.addeventlistener("pause", function () { var duration = math.floor(video.duration); console.log("总时长", duration); var timedisplay = math.floor(video.currenttime); console.log("视频结束时长", timedisplay); }) }, /** * 关闭弹框 */ handleclose() { this.videourl = null this.visible = false }, } } </script> <style> .videobox .el-dialog__header { background-color: #000000; } .videobox .el-dialog__header .el-dialog__title { color: #fff; } .videobox .el-dialog__body { padding: 0 !important; background-color: #000000; } </style>
2、监听视频实时时长
video.addeventlistener("timeupdate", function () { var timedisplay = math.floor(video.currenttime); var duration = math.floor(video.duration); console.log("总时长", duration); console.log("当前播放的时长", timedisplay); }, false);
3、监听视频播放时长
video.addeventlistener("play", function () { var duration = math.floor(video.duration); console.log("总时长", duration); var timedisplay = math.floor(video.currenttime); console.log("视频开始时长", timedisplay); })
4、监听视频暂停时长
video.addeventlistener("pause", function () { var duration = math.floor(video.duration); console.log("总时长", duration); var timedisplay = math.floor(video.currenttime); console.log("视频结束时长", timedisplay); })
到此这篇关于vue 监听视频播放时长的实例代码的文章就介绍到这了,更多相关vue播放时长内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论