vue-video-player基本使用

简介: vue-video-player 是基于vue的 视频播放器,可以便捷的适配到项目中
  1. 下载

    npm install vue-video-player

    如果不使用vue的话,可以直接去官网,或者cdn获取对应js即可

  2. 在vue中的基本使用
    main.js中(全局)

    import Vue from 'vue';
    import VueVideoPlayer from 'vue-video-player';

    导入css,和中文支持

    window.videojs = VueVideoPlayer.videojs;
    import 'video.js/dist/video-js.css';
    require('video.js/dist/lang/zh-CN.js');

    使用插件

    Vue.use(VueVideoPlayer);
  3. 在组件中使用(我这里将vue-video-player抽象为共用组件,方便复用)

    <template>
    //使用定制化样式 vjs-custom-skin
      <video-player class="vjs-custom-skin"
                    ref="videoPlayer"
                    :options="playerOptions"
                    :playsinline="true"
                    @play="onPlayerPlay($event)"
                    @pause="onPlayerPause($event)"
                    @canplay="playerCanplay($event)"
                    @ready="playerReadied">
      </video-player>
    </template>
    <script>
    //导入定制化样式
    import 'vue-video-player/src/custom-theme.css';
    
    export default {
      name: "video-player-item",
      props: {
        url: {
          type: String,
          default: ''
        },
        imgUrl: {
          type: String,
          default: ''
        }
      },
      data() {
        return {
        //vue-video-player参数配置
          playerOptions: {
                    playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
                    autoplay: false, //如果true,浏览器准备好时开始回放。
                    muted: false, // 默认情况下将会消除任何音频。
                    loop: false, // 导致视频一结束就重新开始。
                    preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
                    language: 'zh-CN',
                    aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
                    fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
                    sources: [{
                        type: "video/mp4",// 这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目
                        src: "xxxx" // url地址
                    }],
                    poster: "xxx", // 你的封面地址
                    notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
                    controlBar: {
                        timeDivider: true,
                        durationDisplay: true,
                        remainingTimeDisplay: false,
                        fullscreenToggle: true  // 全屏按钮
                    }
                }
        }
      },
      computed: {
        player() {
          return this.$refs.videoPlayer.player
        }
      },
      created() {
      },
      mounted() {
        this.player.children_[0].style.borderTopRightRadius = '10px'
        this.player.children_[0].style.borderTopLeftRadius = '10px'
      },
      methods: {
      //方法不止这么点,需要其它的可以去看看官网
        onPlayerPlay(player) {
          this.$emit('play');
        },
        onPlayerPause(player) {
          player.pause();
        },
        playerReadied(player) {
        },
        playerCanplay(player){
        },
        currentVideoPause() {
          this.$refs.videoPlayer.player.pause();
    
        },
        currentVideoPlay() {
          this.$refs.videoPlayer.player.play();
        },
      }
    }
    </script>
  4. 效果

在这里插入图片描述

相关文章
|
移动开发 JavaScript HTML5
Vue集成vue-video-player实现播放视频
Vue集成vue-video-player实现播放视频
1031 0
|
NoSQL 数据可视化 关系型数据库
推荐几个好用的redis可视化工具
推荐几个好用的redis可视化工具
17555 1
|
Linux Docker 容器
Docker 的/var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录
Docker 的/var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录
2335 1
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
|
JavaScript
cnpm 的安装与使用
本文介绍了npm和cnpm的概念、安装nodejs的步骤,以及cnpm的安装和使用方法,提供了通过配置npm使用中国镜像源来加速包下载的替代方案,并说明了如何恢复npm默认仓库地址。
cnpm 的安装与使用
|
Java Maven Spring
如何在idea中创建Springboot项目? 手把手带你创建Springboot项目,稳!
文章详细介绍了在IDEA中创建Spring Boot项目的过程,包括选择Spring Initializr、配置项目属性、选择Spring Boot版本、导入依赖、等待依赖下载以及项目结构简介。
14057 1
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
8418 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
存储 前端开发 Java
Element el-upload 文件上传/图片上传/拖拽上传/附带参数/附带请求头部详解
文目录 1. 前言 2. 基本用法 2.1 前端部分 2.2 后端部分 2.3 获取后端返回信息 3. 外观功能介绍 3.1 拖拽上传 3.2 显示图片 3.3 设置文件列表样式 3.4 显示提示信息 4. 事件功能介绍 4.1 限制上传文件数量 4.2 限制上传文件类型和大小 4.3 移除文件处理 4.4 手动上传 5. 附带参数 6. 附带请求头部 7. 小结
7480 0
|
SQL Java 数据库连接
成功解决:was not registered for synchronization because synchronization is not active
这篇文章是关于解决Mybatis在同步过程中出现"was not registered for synchronization because synchronization is not active"错误的技术博客。
成功解决:was not registered for synchronization because synchronization is not active