当前位置: 首页 > news >正文

Vue3 使用Vue3-video-play视频播放 - 附完整示例

适用于 Vue3 的 hls.js 播放器组件 | 并且支持 MP4/WebM/Ogg 格式 配置强大,UI 还算好看

目录

一、官网

二、功能一览

三、使用指南

1、安装

1)npm安装

2)yarn安装

2、开始使用

1)全局使用

2)组件内使用

3、基本示例

四、完整示例

五、Props、Events和快捷键说明

1、Props

props属性 controlBtns 按钮说明

2、Events

3、快捷键说明


一、官网

https://xdlumia.github.io/

二、功能一览

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

三、使用指南

1、安装

1)npm安装
npm i vue3-video-play --save
2)yarn安装
yarn add vue3-video-play --save

2、开始使用

1)全局使用
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' // 引入css app.use(vue3videoPlay) app.mount('#app')
2)组件内使用
import 'vue3-video-play/dist/style.css' import { videoPlay } from 'vue-video-play'

3、基本示例

<template> <div> <vue3VideoPlay v-bind="options" poster='https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/ironMan.jpg'/> </div> </template> <script setup lang="ts"> import { reactive } from 'vue'; const options = reactive({ width: '800px', //播放器高度 height: '450px', //播放器高度 color: "#409eff", //主题色 title: '', //视频名称 src: "https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/IronMan.mp4", //视频源 muted: false, //静音 webFullScreen: false, speedRate: ["0.75", "1.0", "1.25", "1.5", "2.0"], //播放倍速 autoPlay: false, //自动播放 loop: false, //循环播放 mirror: false, //镜像画面 ligthOff: false, //关灯模式 volume: 0.3, //默认音量大小 control: true, //是否显示控制 controlBtns:['audioTrack', 'quality', 'speedRate', 'volume', 'setting', 'pip', 'pageFullScreen', 'fullScreen'] //显示所有按钮, }) </script> <style scoped> </style>

四、完整示例

<template> <div style="width: 800px; height: 500px;"> <vue3VideoPlay ref="videoRef" width="800" height="500" :src="options.src" :poster="options.poster" @play="onPlay" @pause="onPause" @timeupdate="onTimeupdate" @canplay="onCanplay" /> </div> </template> <script setup lang="ts"> import { reactive, ref, onMounted } from 'vue'; import vue3VideoPlay from 'vue3-video-play'; import 'vue3-video-play/dist/style.css'; // 创建视频DOM引用 const videoRef = ref(null); const options = reactive({ src: "https://www.w3school.com.cn/i/movie.mp4", // 视频源 poster: "", // 封面 }); // 事件监听 const onPlay = (ev) => { console.log("播放"); }; const onPause = (ev) => { console.log("暂停"); }; const onTimeupdate = (ev) => { console.log("时间更新"); }; const onCanplay = (ev) => { console.log("可以播放"); };

五、Props、Events和快捷键说明

1、Props

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

名称说明类型可选值默认值
width播放器宽度string-800px
height播放器高度string-450px
color播放器主色调string-#409eff
src视频资源string--
title视频名称string--
type视频类型string-video/mp4
poster视频封面string-视频第一帧
webFullScreen网页全屏boolean-false
speed是否支持快进快退boolean-true
currentTime跳转到固定播放时间(s)number-0
playsinlineios点击屏幕是否全屏boolean-false
muted静音boolean-false
speedRate倍速配置array-["2.0", "1.0", "1.5", "1.25", "0.75", "0.5"]
autoPlay自动播放boolean-false,为true时会自动静音
loop循环播放boolean-false
mirror镜像画面boolean-false
ligthOff关灯模式boolean-false
volume默认音量number0-10.3
control是否显示控制器boolean-true
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全屏按钮

2、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

3、快捷键说明

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

相关文章:

  • 京东滑块验证码JS逆向实战:从接口分析到轨迹加密
  • 2026合金铝板供应商推荐:优质铝板订制加工源头工厂+合金铝卷定制厂家推荐精选 - 栗子测评
  • 彻底告别Row-By-Row:标量子查询外连接改写与向量化引擎深潜
  • HC5504晨芯阳70mΩ,5V USB 高侧可调门限限流负载开关
  • 从0到1打造RAG大模型AI产品:3个月硬核实战,经验与避坑指南!
  • 第四章:NavigationCompose页面导航
  • 2026行星减速机/斜齿减速机供应商推荐:斜齿减速机供应厂家+行星减速机供应厂家精选 - 栗子测评
  • 基于单相全波晶闸管的基本交流电压控制器,带电阻负载(Simulink仿真实现)
  • Linux服务器网卡配置保姆级教程:从ifcfg-eth0文件到ethtool调优全解析
  • 告别Android.mk:手把手教你用Soong和Blueprint编写你的第一个Android.bp模块
  • 转:调动员工积极性的七个关键
  • Python爬虫实战:如何优雅地抓取在线学习平台 FAQ 构建高质量语料库?
  • Armv8原子操作调试:LDXR/STXR指令对与独占监视器
  • 【人工智能】GenFlow 4.0是由百度个人超级智能事业群(PSIG)于 2026 年 4 月 27 日联合百度文库与百度网盘重磅发布的新一代通用 AI 智能体(AI Agent)。
  • 共享内存概述
  • 2026红西柚果粒厂家推荐+柑橘果粒厂家推荐:源头直供,品质优选 - 栗子测评
  • 高并发应用场景
  • 如何优化 ECS 实例的网络带宽峰值应对突发流量
  • 2026柚子皮厂家推荐:全品类供应,高性价比之选 - 栗子测评
  • 【网安-Web渗透测试-内网渗透】内网信息收集(工具)
  • 恒立直线导轨供应商哪家好?2026直线导轨定制厂家汇总:直线导轨供应厂家推荐+RUSON中空旋转平台供应商推荐 - 栗子测评
  • 量子计算中SIMD编译优化与离子阱架构实践
  • FastAPI + SQLite 实战:从零搭建个人记账系统
  • 计算机毕业设计 | vue+springboot高校宿舍 学生住宿管理系统(附源码+论文+讲解视频)
  • 3步实现B站视频转文字:让学习笔记制作变得轻松简单
  • 第六章:UI组件与Material3主题
  • Blender-Armatures
  • C51可重入函数原理与实践指南
  • 2026香柚果茸厂家推荐:优质原料直采,风味纯正 - 栗子测评
  • 第一阶段开发复盘与优化纪要