当前位置: 代码网 > it编程>编程语言>Javascript > Vue 监听视频播放时长的实例代码

Vue 监听视频播放时长的实例代码

2024年10月28日 Javascript 我要评论
1、源码<template> <el-dialog class="videobox" :title="title" :visible.sync="visible" width="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 = 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播放时长内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com