一个页面展示多个视频窗口(vue)

 

<template>

  <div id="video-play">

    <Row>

      <Col v-for="(item,i) in listArray" :span="item.span">

        <div style="text-align:center;border:1px solid #ece9e9">

          <video

            :ref="item.srcTitle"

            :id="item.srcTitle"

            :style="{width:`${item.width-60}px`,height:`${item.height}px`}"

            class="video-js vjs-default-skin"

            muted

            preload="auto"

          >

            <source :src="item.src" type="application/x-mpegURL" />

          </video>

        </div>

      </Col>

    </Row>

  </div>

</template>

 

<script>

import videojs from 'video.js'

import 'videojs-contrib-hls'

export default {

  props: {

    listArray: {

      type: Array,

      default () {

        return [];

      }

    }

  },

  data () {

    return {

      data: []

    }

  },

  watch: {

    listArray () {

      setTimeout(() => {

        this.listArray.forEach(element => {

          if (element.srcTitle != '') {

            let myPlayer = videojs(element.srcTitle)

            videojs(element.srcTitle).ready(function () {

              let myPlayer = this;

              myPlayer.play();

            });

          }

        })

      }, 2500);

    }

  },

  mounted () {

  },

  methods: {

  }

}

</script> 

<style lang="less">

#video-play {

  .video-js {

    /* 设置背景颜色 */

    background-color: white !important;

  }

  /* 设置视频填充  */

  video {

    object-fit: fill !important;

  }

}

</style>

效果图如下

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值