github项目地址:https://github.com/surmon-china/videojs-player
Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,Video.js 自动检测浏览器对 HTML5 的支持情况。
vue-video-player安装
npm install video.js --save
npm install vue-video-player --save
在main.js文件中注册使用
import { createApp } from 'vue' import VueVideoPlayer from '@videojs-player/vue' import 'video.js/dist/video-js.css' const app = createApp() app.use(VueVideoPlayer)
使用该组件,最重要的是controls,浏览器自带的控制条,最近 在vue3中使用该组件 ,由于没有controls导致没有播放按钮 无法实现播放。
<video-player class="video-player vjs-custom-skin v-player" ref="videoPlayer" :playsinline="true" controls :volume="2.0" :loop="true" :options="playerOptions" ></video-player>
配置playerOptions代码如下
playerOptions: { playbackRates: [0.5, 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", // 类型 src: "http://localhost:8080/test2/fileload?filename="+useroute.query.name, // url地址 }, ], poster: "", // 封面地址 notSupportedMessage: "此视频暂无法播放,请稍后再试", // 允许覆盖Video.js无法播放媒体源时显示的默认信息。 controlBar: { volumeControl: true, timeDivider: true, // 当前时间和持续时间的分隔符 durationDisplay: true, // 显示持续时间 remainingTimeDisplay: false, // 是否显示剩余时间功能 fullscreenToggle: true, // 是否显示全屏按钮 } }