vue页面引入多个视频(video.js)

vue页面引入多个视频(video.js)

  1. 安装:npm install video.js

  2. 在main.js中引入

import Video from 'video.js'
import 'video.js/dist/video-js.css'
Vue.prototype.$video = Video

下方是我微信公众号的二维码,可以扫码关注以下,后期博文推送主要在公众号上面,有什么问题也可以通过公众号跟我发消息哦~
在这里插入图片描述

  1. 在某个页面中使用
<template>
  <div>
    <div v-for="(item,index) in videoList" :key="index"  class="test_two_box">
      <video :id="'myVideo' + item.id" class="video-js">
        <source :src="item.src" type="video/mp4" />
      </video>
    </div>
  </div>
</template>


<script>
export default {
  data() {
    return {
      videoList: [
        {
          id: 0,
          src: 'http://192.168.234.116:8110/Video/小白菜.mp4',
          cover: 'http://192.168.234.116:8110//Picture/position/banner.jpg'
        },
        {
          id: 1,
          src: 'http://192.168.234.116:8110/Video/小白菜.mp4',
          cover: 'http://192.168.234.116:8110//Picture/position/banner.jpg'
        }
      ]
    }
  },
  mounted() {
    this.videoList.map((item, index) => {
      let myPlayer = this.$video('myVideo' + item.id, {
        //确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
        controls: true,
        poster: item.cover,
        //自动播放属性,muted:静音播放
        // autoplay: "muted",
        //建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
        preload: "auto",
        //设置视频播放器的显示宽度(以像素为单位)
        width: "300px",
        //设置视频播放器的显示高度(以像素为单位)
        height: "150px"
      });
    })
  }
}
</script>
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue中使用video.js动态渲染多个直播流视频是可行的。首先,您需要引入video.js和相应的插件。 1. 安装video.js: 您可以使用npm或yarn来安装video.js库,`npm install video.js`或`yarn add video.js`。 2. 在Vue组件中导入video.js: 在您的Vue组件中,您需要导入video.js和任何其他相关的插件。您可以使用以下语句进行导入: ```javascript import videojs from 'video.js'; import 'video.js/dist/video-js.css'; // 导入video.js的CSS样式文件 ``` 3. 创建Vue组件: 创建一个Vue组件,用于渲染video.js播放器。在组件中,您可以使用`v-for`指令来动态渲染多个视频。 ```html <template> <div> <!-- 使用v-for指令渲染多个video标签,每个video标签都有唯一的ID和video.js的class --> <video v-for="video in videos" :key="video.id" :id="video.id" class="video-js"></video> </div> </template> <script> export default { data() { return { videos: [ { id: 'video1', src: 'http://livestreamurl1' }, { id: 'video2', src: 'http://livestreamurl2' }, // 添加更多的视频 ] }; }, mounted() { // 在组件挂载后,使用video.js动态创建播放器 this.videos.forEach(video => { videojs(video.id, { sources: [{ src: video.src, type: 'application/x-mpegURL' }] }); }); } }; </script> ``` 上述代码中使用了v-for指令来循环渲染多个video标签,并为每个video标签添加了唯一的ID和video.js的class。在组件挂载后,使用video.js的API为每个video标签创建播放器,并传入相应的视频源。 这样就能够实现在Vue中动态渲染多个直播流视频了。记得在组件销毁时销毁播放器,以及根据需要进行其他配置和功能的设置。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值