vue+video-player组件应用

  • 具体实现:
    • 一、安装video-player组件:
    • 二、配置video-player公共组件:
    • 三、应用video-player组件:

本篇文章可用于vue项目,PC端视频播放功能。

具体实现:

一、安装video-player组件:

1、安装组件:

npm i vue-video-player --save

2、main.js文件全局注册组件:

// 视频组件,全局注册
import VideoPlayer from 'vue-video-player/src';
import 'vue-video-player/src/custom-theme.css';
import 'video.js/dist/video-js.css';
Vue.use(VideoPlayer);

二、配置video-player公共组件:

注意,本组件设置的属性为一加载就播放,使用时可按自己情况酌情修改;

<template><div class="video"><!-- 使用组件增加loading,优化视频播放缓慢问题--><video-player class="video-player"ref="videoPlayer"v-loading="loading"element-loading-background="rgb(0,0,0)":playsinline="true":options="playerOptions"></video-player></div>
</template>
export default {props: {mp4Url: {type: String,// default: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4'default: ''},mp4Pic: {type: String,// default: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png'default: ''},// fileAreaHeight: {//   type: Number,//   default: 500// },fileType: {type: String,default: 'mp4' // 资源的类型}},computed: { // 使用计算属性playerOptions () {const playerOptionsObj = {playbackRates: [0.5, 1.0, 1.5, 2.0], // 视频播放速度autoplay: true, // 如果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/' + this.fileType,   // 资源格式写法:'video/mp4',否则控制台会出现notSupportedMessage设置的错误。src: this.mp4Url // 视频url地址}],poster: this.mp4Pic, // 视频封面地址// width: document.documentElement.clientWidth,// height: this.fileAreaHeight,   // 设置高度,fluid需要设置成flasenotSupportedMessage: '此视频暂无法播放...', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。controlBar: {// timeDivider: true,durationDisplay: true,remainingTimeDisplay: false,fullscreenToggle: true  //全屏按钮}}return playerOptionsObj;}},data() {return {loading: true};},mounted() {this.$refs.videoPlayer.$refs.video.addEventListener('loadeddata', e => {console.log('提示视频的元数据已加载')console.log(e)this.loading = false;})},methods: {loadstart(e) {console.log('提示视频的元数据已加载', e)}},
};
::v-deep {.video-js {.vjs-big-play-button {width: 1.5em;border-radius: 50%;top: 50%;left: 50%;transform: translate(-50%, -50%);border: none;}.vjs-play-progress:before {font-size: 1em;top: 50%;transform: translateY(-50%);}.vjs-slider-horizontal .vjs-volume-level:before {top: 50%;transform: translateY(-50%);}}
}

三、应用video-player组件:

注意,这里额外配置一次path地址,目的为优化页面中多个视频同时加载问题;
noVideo可自行配置样式,应与视频加载后的样式保持一致,优化体验感,对未加载的视频组件进行占空处理;
实际应用中可去除此判断外壳,直接引入组件并配置path属性;

<Videoplayer v-if="newPath" :mp4Url="newPath"></Videoplayer>
<div class="noVideo" v-else><div class="videoIcon" @click="isPlay(index, ind)"></div>
</div>
import Videoplayer from '@/components/Videoplayer'; // 引入上面创建的组件
export default {components: { Videoplayer },data() {return {loading: true,path: '', // 视频地址newPath: null}},methods: {// 播放视频isPlay(index, ind) {this.newPath = this.path;}}
}
.box {width: 300px;// margin: 0 15px 15px 0;.noVideo {height: calc(300px * 9 / 16);  // 这里主要为9:16的样式计算display: flex;align-items: center;justify-content: center;background: #000;.videoIcon {width: 45px;height: 45px;border-radius: 50%;background: rgba(43, 51, 63, 0.7);display: flex;align-items: center;justify-content: center;cursor: pointer;color: #fff;font-size: 30px;&::before {content: "\F101";font-family: VideoJS;font-weight: normal;font-style: normal;}}&:hover .videoIcon {background: rgba(115, 133, 159, 0.5)}}
}

vue+video-player组件应用相关推荐

  1. Unity流水账2:视频播放之Video Player

    VideoPlayer组件   使用VideoPlayer组件可以将视频文件附加到GameObjecs,并在运行时,在GameObject的Texture上播放它们.   默认情况下,Video Pl ...

  2. VR视频播放器Video Player

    一.通过blender进行建模 1.下载并进行安装 快捷键: ①A:全选       ②X:把场景中所有的组件都删掉,按下X后点击Delete X ,则场景会被清空 ③Shift+A:生成一个物体 或 ...

  3. Vue实现视频播放列表(二)——video.js组件的使用-实现视频播放列表-切换播放

    Vue实现视频播放列表--video.js组件的使用-实现视频播放列表-切换播放 1.video标签--https://www.runoob.com/html/html-videos.html 2.v ...

  4. Vue实现视频播放列表(一)——video.js组件的使用

    Vue实现视频播放列表(一)--video.js组件的使用 video.js组件官网--https://www.npmjs.com/package/video.js 1.安装 引入video.js组件 ...

  5. Vue中视频组件vue-video-player

    实现效果如图: 在页面中展示,可放大至全屏 1.安装  (因为最新版本有问题 我现在安装的版本是npm install vue-video-player@5.0.1 --save) npm insta ...

  6. Vue3封装Video.js组件(基于video.js)

    Vue3封装Video.js组件 话不多说直接上代码 在项目中安装Video.js 通过npm安装video.js npm install video.js --save Video.js组件的封装 ...

  7. html angular video视频组件

    html angular video视频组件 官方网站 项目地址 博主提供的下载地址 文档地址 Videogular Videogular is an HTML5 video player for A ...

  8. Vue Video.js播放m3u8视频流格式(video+videojs-contrib-hl)

    文章目录 1. Vue+Video.js播放效果图 2. npm安装和引入 3. vue 使用 4. 动态设置video视频的src地址 5. Uncaught (in promise) TypeEr ...

  9. 使用Raw Image和Unity自带的视频播放插件Video Player

    使用Raw Image和Unity自带的视频播放插件Video Player导致视频不清晰 先创建Raw Image 在Raw Image身上添加Video Player和Audio Source组件 ...

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

    vue + video.js实现视频列表页 vue项目中做一个视频列表页,本来用原生video标签来实现,由于考虑到手机浏览器兼容问题,找了很多插件,最后决定用video.js这个插件来实现.Vide ...

最新文章

  1. 数据仓库工具箱维度建模权威指南-第一章 数据仓库、商业智能及维度建模初步
  2. 有凤来仪的意思是什么?成语有凤来仪比喻什么?
  3. c语言 桌面下雪程序,用C++写的在桌面上飘雪的特效程序
  4. PGIS中java程序授权问题
  5. 7种常见的音频格式简析 MP3,WMA,WAV,APE,FLAC,OGG,AAC
  6. Proteus仿真:MSP430
  7. 计算机毛利润的函数,毛利率计算公式
  8. 写在前面(ShenYu)
  9. 最全最新cpu显卡天梯图_CPU天梯图2020年-2020年最新CPU天梯图(高清大图) - 系统家园...
  10. Altium Designer PCB常用规则中英文对照
  11. 【牛客网】马三来刷题之顺时针旋转矩阵
  12. cannot read property 'options' of underfined
  13. The power input for PSU 2 is lost
  14. 深度学习:自编码器、深度信念网络和深度玻尔兹曼机
  15. gmail发邮件一直失败,解决办法
  16. 3D 环视系统碗状模型绘制
  17. macOS开发入门教程 : Part 2
  18. Shell 中的真与假
  19. 通过 A/B 测试持续优化广告投放,提高APP广告收益!
  20. 2022年最新江西机动车签字授权人考试模拟题及答案

热门文章

  1. 曙光计算机公司张涛,曙光创业协会“畅谈理想  规划人生”演讲比赛三等奖(文章)...
  2. 无限自由 无线投影机导购深入分析
  3. QProcess设置运行环境
  4. 推到 旋转矩阵公式_3D旋转矩阵的推导过程
  5. 什么是跨域及解决跨域都有哪些方法?
  6. MYSQL抛出异常+禁止删除触发器、同步插入触发器
  7. 考软件设计师,该看什么学习教材?
  8. 韩国服务器稳定怎么解决,韩国服务器不稳定怎么办
  9. 蓝桥杯单片机第十二届省赛
  10. 探索Headless Chrome