当前位置: 首页 > 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.zskr.cn/news/1314785.html

相关文章:

  • 完整教程:DIY-Multiprotocol-TX-Module固件编译与烧录
  • Python爬虫实战:如何优雅地抓取在线学习平台 FAQ 构建高质量语料库?
  • 告别AI效果波动!掌握“输入供给系统“让模型稳定输出,成本可控
  • 从DDR到LPDDR:搞懂手机和电脑内存差异,看这一篇就够了(附选型避坑指南)
  • 2026红西柚果粒厂家推荐+柑橘果粒厂家推荐:源头直供,品质优选 - 栗子测评
  • 如何优化 ECS 实例的网络带宽峰值应对突发流量
  • 共享内存概述
  • 2026柚子皮厂家推荐:全品类供应,高性价比之选 - 栗子测评
  • 恒立直线导轨供应商哪家好?2026直线导轨定制厂家汇总:直线导轨供应厂家推荐+RUSON中空旋转平台供应商推荐 - 栗子测评
  • Linux|操作系统|zfs文件系统的使用详解
  • 【网安-Web渗透测试-内网渗透】内网信息收集(工具)
  • 转:调动员工积极性的七个关键
  • 解决FlexNet Publisher许可证协议不匹配错误-83
  • 【2026年最新版】JDK安装、环境配置教程(详细图文附安装包)
  • 2026香柚汁厂家推荐:NFC果汁原料厂家,原料甄选,新鲜锁鲜 - 栗子测评
  • 【c#基础】3.流程控制
  • JDBC(四):Statement
  • 2026年热门的钢制侧向防火卷帘多家厂家对比分析 - 品牌宣传支持者
  • 硬件入门 + 单片机基础(第7天)综合实训(传感器+IO整合)
  • 为什么 SAP S/4HANA 的前端更常用 SAPUI5,而不是 React、Vue 或 Angular
  • 从选题到定稿不熬夜:2026 年 10 款 AI 毕业论文工具实测,Paperxie 领衔全流程通关
  • HarmonyOS 6学习:从视频加载到长截图——性能优化实战全解析
  • 评审前2小时完成页面布局:前端AI工具快速出图工作流
  • SBA系列生物传感分析仪的工作原理是什么?
  • 2026年团队原型设计工具选型指南:功能、易用性全面评测
  • 玩客云直刷Armbian集成宝塔:一站式搭建个人服务器
  • Gitee SCA:平台唯一官方集成的开源组件安全与合规治理方案
  • TVA智能体范式的工业视觉革命(7)
  • Docker Compose部署Nginx Proxy Manager保姆级教程:从端口映射到数据持久化全解析
  • 数组指针VS指针数组