当前位置: 首页 > news >正文

Vue:监听视频播放时长

目录

    • 1、源码
    • 2、监听视频实时时长
    • 3、监听视频播放时长
    • 4、监听视频暂停时长


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 = nullthis.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);
})

http://www.mrgr.cn/news/51445.html

相关文章:

  • SpringCloud入门
  • Redis集群和哨兵环境下节点故障排查命令
  • ZW3D二次开发_UI_ZW3D表单使用QT原生表单
  • React JSX 使用条件语句渲染UI的两种写法
  • 软件测试面试200问,面试看这就够了。。。
  • StaccaToe 机器人:动态运动与精密控制的融合
  • 楼宇智慧公厕的几个功能需要哪些硬件支持
  • 【华为云开发者空间实践指导】基于FunctionGraph实现Gif动图制作应用开发
  • uniapp 小程序0到1教程
  • 某协程旅行 - sign、token
  • java代码生成器集成dubbo,springcloud详解以及微服务遐想
  • 100. UE5 GAS RPG 显示范围魔法的攻击范围
  • Unity-Shader-SubShader CG代码块
  • 例行性工作(at,crontab)
  • 【Linux】了解pthread线程库,清楚并没有线程创建接口,明白Linux并不存在真正意义的线程(附带模型图详解析)
  • OGG错误:ORA-28000:the account is locked
  • js实现简单的【发布者-订阅者模式】
  • 工信部 | 信息技术应用创新人才证书哪个科目好考?
  • 栈的压入、弹出序列
  • vector使用与实现