vue + video.js实现视频列表页(多个视频)

vue + video.js实现视频列表页

vue项目中做一个视频列表页,本来用原生video标签来实现,由于考虑到手机浏览器兼容问题,找了很多插件,最后决定用video.js这个插件来实现。Video.js是一个有着HTML5背景的网络视频播放器。它同时支持HTM5和Flash视频,简单来说就是HTMl5 和 Flash 视频播放器

安装video.js

$ npm install video.js

在main.js中引用

import Video from 'video.js'
import 'video.js/dist/video-js.css'

Vue.prototype.$video = Video

页面使用

<template>
  <div class="hello">
    <div v-for="(item,i) in list" :key="i" style="margin-bottom: 30px">
      <video :id="'myVideo'+item.id" class="video-js">
        <source :src="item.src" type="video/mp4">
      </video>
    </div>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
    data(){
      return {
          list:[
              {
                  src:'http://img.yopoo.cn/banner_video.mp4 ',
                  id:0,
                  pic:"",
              },
              {
                  src:'http://img.yopoo.cn/banner_video.mp4 ',
                  id:1,
                  pic:"",
              },
              {
                  src:'http://img.yopoo.cn/banner_video.mp4 ',
                  id:2,
                  pic:"",
              }
          ]
      }
    },
    mounted() {
        this.initVideo();
    },
    methods: {
        initVideo() {
            //初始化视频方法 循环列表获取每个视频的id
            this.list.map((item,i)=>{
                let myPlayer = this.$video('myVideo'+item.id, {
                    //确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
                    controls: true,
                    //自动播放属性,muted:静音播放
                    autoplay: "muted",
                    //建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
                    preload: "auto",
                    //设置视频播放器的显示宽度(以像素为单位)
                    width: "800px",
                    //设置视频播放器的显示高度(以像素为单位)
                    height: "400px",
                    //封面图
                    poster:item.pic
                });
            })

        }
    }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

效果图

以上就是实现的步骤和代码 有什么问题欢迎大家评论和指出。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    小姜先森o0O阅读 9,721评论 0 72
  • 简说Vue (组件库) https://github.com/ElemeFE/element" 饿了么出品的VUE...
    Estrus丶阅读 1,810评论 0 1
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,190评论 0 1
  • #2018.09.14#读书感悟类#素材#第五篇《张爱玲:她比烟花寂寞》里张爱玲的母亲黄逸梵出生于1986年,原名...
    初心_a5dc阅读 430评论 4 3
  • 其实,在课本学习到的英语句子,很多用到生活中,就突然变了味道,比如说他们: 1. Of course 很多人非常喜...
    春喜外语阅读 377评论 0 0