Vue3视频播放器组件Vue3-video-play入门教程

article/2025/10/9 7:07:17

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 style
import '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' // 引入css
app.use(vue3videoPlay)app.mount('#app')

3、示例代码

(1)事件示例

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

<template><div><vue3VideoPlay width="800px"title="钢铁侠":src="options.src":poster="options.poster"@play="onPlay"@pause="onPause" @timeupdate="onTimeupdate" @canplay="onCanplay" /></div></template><script setup lang="ts">
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, '可以播放')
}
</script><style scoped>
</style>

(2)Hls m3u8视频/直播

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

<template><div><vue3VideoPlay width="800px"title="冰河世纪":src="options.src":type="options.type":autoPlay="false"/></div></template>
<script setup lang="ts">
import { reactive } from 'vue';
const options = reactive({src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8", //视频源type: 'm3u8', //视频类型
})
</script><style scoped>
</style>

4、属性 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全屏按钮

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全屏/退出全屏

http://chatgpt.dhexx.cn/article/5Hp8LESV.shtml

相关文章

Vue3全套教程合集

Vue3全套教程合集 点击跳转具体教程&#xff0c;以下所有教程基于脚手架书写&#xff0c;运行代码需要在脚手架环境。 一、Vue3学习-初识Vue3、创建Vue3.0工程 二、Vue3学习-分析工程结构、初识setup 三、Vue3学习-ref函数、reactive函数、Vue3响应式原理 四、Vue3学习-Vue3的…

vue怎么设置封面_vue设置视频封面教程 vue如何修改标题

现在使用vue的伙伴很多&#xff0c;可以说是视频编辑美化软件排前几的软件&#xff0c;能够使用的功能非常多&#xff0c;有用户就想知道如何才能进行标题的修改&#xff0c;视频的封面又是怎么设置的&#xff0c;想知道的伙伴&#xff0c;可以在iefans看看详细的操作方法哦&am…

vue视频教程,vue2.0

vue视频教程很多人对我说vue教程&#xff0c;这里我给大家推荐vue2.0视频教程下载&#xff0c;这是一套从基础到项目一共8天的就业视频从0基础到商城实战有基础可以跳过直接项目 可以关注微信公众号搜索&#xff1a;cityapes或者搜索:城市一猿 点击菜单的vue.js就可以下载了

vue教程

原文 1 vue安装 1.1 直接用 script标签引入 对于制作原型或学习&#xff0c;你可以这样使用最新版本&#xff1a; <script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>对于生产环境&#xff0c;我们推荐链接到一个明确的版本号和构…

vue视频教程大全下载

vue视频12套完整教程大全下载&#xff0c;新手开发必备包含项目实战等多套视频教程 可以扫描二维码关注微信公众号 或者搜索&#xff1a;cityapes或者搜索:城市一猿 点击菜单的vue.js就可以下载了

Vue基础视频教程(一)

1、github上的网址&#xff1a;https://github.com/vuejs/vue 2、Vue中文文档&#xff1a;https://cn.vuejs.org/v2/guide/installation.html 3、CDN&#xff1a;http://www.bootcdn.cn/ 4、看哥们儿&#xff0c;分享给我的视频--> 基础实验代码&#xff1a; <!DOCT…

vue初级视频教程

1.观看本视频之前 官方指南假设你已了解关于 HTML、CSS 和 JavaScript 的中级知识。如果你刚开始学习前端开发&#xff0c;将框架作为你的第一步可能不是最好的主意——掌握好基础知识再来吧&#xff01;之前有其它框架的使用经验会有帮助&#xff0c;但这不是必需的。 2.Vue…

【第一季】Vue2.0视频教程-内部指令(共8集)

【第一季】Vue2.0视频教程-内部指令(共8集) 【第一季】Vue2.0视频教程-内部指令(共8集)第1节&#xff1a;走起我的Vue2.0 学习这套课程你需要的前置知识&#xff1a;下载Vue2.0的两个版本&#xff1a;项目结构搭建live-server使用编写第一个HelloWorld代码&#xff1a; 第2节&a…

vue.js2.0完整视频教程12套

0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.jsNode.js构建音乐播放器 0.7js高级课程vuejs 0.8vue.js实战开发系列 0.9Vue视频教程基础视频教程 10.vue.js实战wm平台 等...就不一一列…

万字入门推荐系统

来源&#xff1a;毛小伟 本文约8000字&#xff0c;建议阅读10分钟 本文作者整理出了这份万字入门推荐系统&#xff0c;涵盖了推荐系统基础、进阶、实战的全部知识点&#xff0c; 最近一周作者跟朋友三人&#xff0c;根据自身如何入门推荐系统&#xff0c;再结合三人分别在腾讯…

构建自己的Android知识体系

0. 背景 构建一个属于自己的知识体系,能够让我们学到的知识体系化.让自己清楚哪块是自己的知识盲区,哪块已经构建起根基.然后根据实际情况,有针对性的进行模块学习.让自己成为一个合格的Android工程师. 平时看博客或者学知识,学到的东西比较零散,没有独立的知识模块概念,而且…

公司用的 MySQL 团队开发规范,太详细了,建议收藏!

点击上方“Java精选”&#xff0c;选择“设为星标” 别问别人为什么&#xff0c;多问自己凭什么&#xff01; 下方留言必回&#xff0c;有问必答&#xff01; 每天 08:35 更新文章&#xff0c;每天进步一点点... 数据库对象命名规范 数据库对象 数据库对象是数据库的组成部分&a…

电影信息爬取与聚类分析

电影信息爬取与聚类分析 要求&#xff1a;爬取电影相关数据&#xff0c;条数不小于1000&#xff0c;结构自定&#xff0c;要求包含情感信息&#xff0c;类别&#xff0c;评论关键词等&#xff0c;然后基于这些信息根据用户的喜好做相关性聚类。 一、总体设计 &#xff08;1&…

算法推导 | 卷积神经网络(CNN)反向传播

作者丨南柯一梦宁沉沦知乎 编辑丨极市平台 来源丨https://zhuanlan.zhihu.com/p/61898234 多层感知机反向传播的数学推导&#xff0c;主要是用数学公式来进行表示的&#xff0c;在全连接神经网络中&#xff0c;它们并不复杂&#xff0c;即使是纯数学公式也比较好理解。而卷积神…

深入浅出学习Hive

本文是基于CentOS 7.9系统环境&#xff0c;进行hive的学习和使用 一、Hive的简介 1.1 Hive基本概念 (1) 什么是hive Hive是用于解决海量结构化日志的数据统计工具&#xff0c;是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供…

你知道豆瓣电影是怎么评分的吗?(实战篇—手把手教你分析豆瓣电影)

点赞再看&#xff0c;养成好习惯 Python版本3.8.0&#xff0c;开发工具&#xff1a;Pycharm 写在前面的话&#xff1a; 如果你是因为看到标题进来的&#xff0c;那恭喜你&#xff0c;又多了一个涨&#xff08;入&#xff09;知&#xff08;坑&#xff09;识的机会。 在这篇豆…

万字入门推荐系统!

最近一周我、强子、Y哥三人&#xff0c;根据自身如何入门推荐系统&#xff0c;再结合三人分别在腾讯做广告推荐、字节做视频推荐、百度做信息流推荐的经历&#xff0c;整理出了这份万字入门推荐系统。内容十分详细&#xff0c;涵盖了推荐系统基础、进阶、实战的全部知识点&…

【原创】LeetCode刷题-Python版

文章目录 LeetCode1、两数之和*2、两数相加3、无重复字符的最长子串**4、寻找两个正序数组的中位数**5、最长回文子串**动态规划思维导图6、Z 字形变换7、整数反转8、字符串转换整数 (atoi)9、回文数10、正则表达式匹配*11、盛最多水的容器*12、整数转罗马数字13、 罗马数字转整…

c语言 字符串切片重组成完整,bash脚本之一(变量+数组)

bash的变量与数组 变量&#xff1a;存储单个元素的内存空间&#xff1b; 也相当于是数组的0号索引。 数组&#xff1a;存储多个元素的连续的内存空间&#xff1b; 一、变量 1、介绍&#xff1a; 任何程序都需要变量。 变量是用来存储数据的。程序指令数据。 按照其变量是否需要…

最重要Python面试题,逻辑题,Python与数学之美

从数学归纳法谈起&#xff1a; 什么是数学归纳法&#xff1f; 从两个有趣的问题谈起&#xff1a; 1&#xff09;怎么证明一堆人中所有人都是希腊人&#xff1f; 2&#xff09;思考题&#xff1a;怎么证明所有人都是秃子&#xff1f; 什么是数学归纳法&#xff1f; 最简单和常…