在vue中使用video.js 以及viewer.js

安装并引入

文档
本文无参考价值。

import "viewerjs/dist/viewer.css";
import Viewer from "v-viewer";
import Vue from "vue";
Vue.use(Viewer);
import videojs from "video.js"; 
import "video.js/dist/video-js.css";

viewer的用法比较简单

<div v-viewer>
    <img v-for="(item,i) in  imgsList" :key="i" :src="item.fileUrl" alt />
    </div>

给要展示的图片的父级元素 写上v-viewer属性即可。

videojs

注意:尽量不要将其放在弹窗中,可能会导致获取不到id。

 <div class="video_box" id="operator" v-show="this.videoUrl">
      <video ref="videoPlayer" class="video-js" poster="@/assets/烟气视频.png">
        
      </video>
    </div>

初始化方法

//打开视频
    videoImg(item) {
      this.videoUrl = item.fileUrl;
      // console.log(this.videoUrl);
      let options = {
        controls: true, // 是否显示底部控制栏
        preload: "auto", // 加载<video>标签后是否加载视频
        autoplay: "muted", // 静音播放
        playbackRates: [0.5, 1, 1.5, 2], // 倍速播放
        width: "640",
        height: "247",
        controlBar: {
          // 自定义按钮的位置
          children: [
            {
              name: "playToggle",
            },
            {
              name: "progressControl",
            },
            {
              name: "currentTimeDisplay",
            },
            {
              name: "timeDivider",
            },
            {
              name: "durationDisplay",
            },

            {
              name: "volumePanel", // 音量调整方式横线条变为竖线条
              inline: false,
            },
            {
              name: "pictureInPictureToggle", //画中画播放模式
            },
            {
              name: "fullscreenToggle",
            },
          ],
        },
      };
      this.player = videojs(
        this.$refs.videoPlayer,
        options,
        function onPlayerReady() {
          // console.log("onPlayerReady", this);
        }
      );
      // console.log(this.player);
      this.player.src({
        src: this.videoUrl,
      });
      var CloseButton = videojs.getComponent("CloseButton");
      CloseButton.prototype.handleClick = () => this.closeVideo();
      var closeButton = new CloseButton(this.player);
      this.player.addChild(closeButton);
      document.getElementById("operator").style.display = "block";
    },
    //关闭播放框
    closeVideo() {
      document.getElementById("operator").style.display = "none";
    },
beforeDestroy() {
    if (this.player) {
      this.player.dispose();
    }
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值