Vue3-video-play适用于 Vue3 的 hls.js 播放器组件 | 并且支持MP4/WebM/Ogg格式。

1、支持快捷键操作
2、支持倍速播放设置
3、支持镜像画面设置
4、支持关灯模式设置
5、支持画中画模式播放
6、支持全屏/网页全屏播放
7、支持从固定时间开始播放
8、支持移动端,移动端会自动调用自带视频播放器
9、支持hls视频流播放,支持直播

10、hls播放支持清晰度切换

目录

1、安装方式

(1)npm安装方式

(2)yarn安装方式

2、使用方式

(1)局部使用

(2)全局使用

3、示例代码

(1)事件示例

(2)Hls m3u8视频/直播

4、属性Props


1、安装方式

(1)npm安装方式

npm i vue3-video-play --save

(2)yarn安装方式

yarn add vue3-video-play --save

2、使用方式

(1)局部使用

// require styleimport 'vue3-video-play/dist/style.css'import { videoPlay } from 'vue-video-play'export default {components: {videoPlay}}

(2)全局使用

import { createApp } from 'vue'import App from './App.vue'let app = createApp(App)import vue3videoPlay from 'vue3-video-play' // 引入组件import 'vue3-video-play/dist/style.css' // 引入cssapp.use(vue3videoPlay)app.mount('#app')

3、示例代码

(1)事件示例

vue3-video-play支持原生video所有事件。

import { reactive } from 'vue';const options = reactive({src: "https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/IronMan.mp4", //视频源poster: '', //封面})const onPlay = (ev) => {console.log('播放')}const onPause = (ev) => {console.log(ev, '暂停')}const onTimeupdate = (ev) => {console.log(ev, '时间更新')}const onCanplay = (ev) => {console.log(ev, '可以播放')}

(2)Hls m3u8视频/直播

vue3-video-play支持m3u8(hls)播放

import { reactive } from 'vue';const options = reactive({src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8", //视频源type: 'm3u8', //视频类型})

4、属性Props

​vue3-video-play 支持video原生所有Attributesvideo原生属性使用方式和props属性使用一致

名称说明类型可选值默认值
width播放器宽度string800px
height播放器高度string450px
color播放器主色调string#409eff
src视频资源string
title视频名称string
type视频类型stringvideo/mp4
poster视频封面string视频第一帧
webFullScreen网页全屏booleanfalse
speed是否支持快进快退booleantrue
currentTime跳转到固定播放时间(s)number0
playsinlineios点击屏幕是否全屏booleanfalse
muted静音booleanfalse
speedRate倍速配置array[“2.0”, “1.0”, “1.5”, “1.25”, “0.75”, “0.5”]
autoPlay自动播放booleanfalse,为true时会自动静音
loop循环播放booleanfalse
mirror镜像画面booleanfalse
ligthOff关灯模式booleanfalse
volume默认音量number0-10.3
control是否显示控制器booleantrue
controlBtns控制器显示的按钮array[‘audioTrack’, ‘quality’, ‘speedRate’, ‘volume’, ‘setting’, ‘pip’, ‘pageFullScreen’, ‘fullScreen’][‘audioTrack’, ‘quality’, ‘speedRate’, ‘volume’, ‘setting’, ‘pip’, ‘pageFullScreen’, ‘fullScreen’]
preload预加载stringmeta/auto/noneauto

props属性controlBtns按钮说明

名称说明
audioTrack音轨切换按钮
quality视频质量切换按钮
speedRate速率切换按钮
volume音量
setting设置
pip画中画按钮
pageFullScreen网页全屏按钮
fullScreen全屏按钮

Events

vue3-video-play支持video原生所有事件video默认事件

事件名称说明回调
mirrorChange镜像翻转事件val
loopChange循环播放开关事件val
lightOffChange关灯模式事件val
loadstart客户端开始请求数据event
progress客户端正在请求数据event
error请求数据时遇到错误event
stalled网速失速event
play开始播放时触发event
pause暂停时触发event
loadedmetadata成功获取资源长度event
loadeddata缓冲中event
waiting等待数据,并非错误event
playing开始回放event
canplay暂停状态下可以播放event
canplaythrough可以持续播放event
timeupdate更新播放时间event
ended播放结束event
ratechange播放速率改变event
durationchange资源长度改变event
volumechange音量改变event

快捷键说明

键名说明
Space暂停/播放
方向右键 →单次快进 10s,长按 5 倍速播放
方向左键 ←快退 10s
方向上键 ↑音量+10%
方向下键 ↓音量-10%
Esc退出全屏/退出网页全屏
F全屏/退出全屏