您现在的位置是:首页 > 技术教程 正文

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

admin 阅读: 2024-03-28
后台-插件-广告管理-内容页头部广告(手机)

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)局部使用

  1. // require style
  2. import 'vue3-video-play/dist/style.css'
  3. import { videoPlay } from 'vue-video-play'
  4. export default {
  5. components: {
  6. videoPlay
  7. }
  8. }

(2)全局使用

  1. import { createApp } from 'vue'
  2. import App from './App.vue'
  3. let app = createApp(App)
  4. import vue3videoPlay from 'vue3-video-play' // 引入组件
  5. import 'vue3-video-play/dist/style.css' // 引入css
  6. app.use(vue3videoPlay)
  7. app.mount('#app')

3、示例代码

(1)事件示例

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

  1. <template>
  2. <div>
  3. <vue3VideoPlay
  4. width="800px"
  5. title="钢铁侠"
  6. :src="options.src"
  7. :poster="options.poster"
  8. @play="onPlay"
  9. @pause="onPause"
  10. @timeupdate="onTimeupdate"
  11. @canplay="onCanplay" />
  12. div>
  13. template>
  14. <script setup lang="ts">
  15. import { reactive } from 'vue';
  16. const options = reactive({
  17. src: "https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/IronMan.mp4", //视频源
  18. poster: '', //封面
  19. })
  20. const onPlay = (ev) => {
  21. console.log('播放')
  22. }
  23. const onPause = (ev) => {
  24. console.log(ev, '暂停')
  25. }
  26. const onTimeupdate = (ev) => {
  27. console.log(ev, '时间更新')
  28. }
  29. const onCanplay = (ev) => {
  30. console.log(ev, '可以播放')
  31. }
  32. script>
  33. <style scoped>
  34. style>

(2)Hls m3u8视频/直播

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

  1. <template>
  2. <div>
  3. <vue3VideoPlay
  4. width="800px"
  5. title="冰河世纪"
  6. :src="options.src"
  7. :type="options.type"
  8. :autoPlay="false"
  9. />
  10. div>
  11. template>
  12. <script setup lang="ts">
  13. import { reactive } from 'vue';
  14. const options = reactive({
  15. src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8", //视频源
  16. type: 'm3u8', //视频类型
  17. })
  18. script>
  19. <style scoped>
  20. 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全屏/退出全屏
标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜