vue3-video-play视频组件的使用(一)——基本使用 HTML5中Video标签的属性、方法和事件汇总
vue3-video-play视频组件的使用(一)——基本使用 & HTML5中Video标签的属性、方法和事件汇总
npm地址:https://www.npmjs.com/package/vue3-video-play
demo地址:https://codelife.cc/vue3-video-play/
api地址:https://codelife.cc/vue3-video-play/guide/install.html
1、安装
npm i vue3-video-play --save
yarn add vue3-video-play --save
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");
组件内使用
// require style
import "vue3-video-play/dist/style.css";
import { videoPlay } from "vue-video-play";
export default {components: {videoPlay,},
};
3、参数说明
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 |
playsinline | ios点击屏幕是否全屏 | 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 | 默认音量 | number | 0-1 | 0.3 |
control | 是否显示控制器 | boolean | - | true |
controlBtns | 控制器显示的按钮 | array | [‘audioTrack’, ‘quality’, ‘speedRate’, ‘volume’, ‘setting’, ‘pip’, ‘pageFullScreen’, ‘fullScreen’] | [‘audioTrack’, ‘quality’, ‘speedRate’, ‘volume’, ‘setting’, ‘pip’, ‘pageFullScreen’, ‘fullScreen’] |
preload | 预加载 | string | meta/auto/none | auto |
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 | 全屏/退出全屏 |
HTML5中Video标签的属性、方法和事件汇总
<video>标签的属性
src :视频的属性
poster:视频封面,没有播放时显示的图片
preload:预加载
autoplay:自动播放
loop:循环播放
controls:浏览器自带的控制条
width:视频宽度
height:视频高度
html 代码<video id="media" src="http://www.sundxs.com/test.mp4" controls width="400px" heigt="400px"></video> //audio和video都可以通过JS获取对象,JS通过id获取video和audio的对象
获取video对象Media = document.getElementById("media");
Media方法和属性:
HTMLVideoElement和HTMLAudioElement 均继承自HTMLMediaElement
Media.error; //null:正常
Media.error.code; //1.用户终止 2.网络错误 3.解码错误 4.URL无效
//网络状态
- Media.currentSrc; //返回当前资源的URL
- Media.src = value; //返回或设置当前资源的URL
- Media.canPlayType(type); //是否能播放某种格式的资源
- Media.networkState; //0.此元素未初始化 1.正常但没有使用网络 2.正在下载数据 3.没有找到资源
- Media.load(); //重新加载src指定的资源
- Media.buffered; //返回已缓冲区域,TimeRanges
- Media.preload; //none:不预载 metadata:预载资源信息 auto://准备状态
- Media.readyState;//1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA
- Media.seeking; //是否正在seeking//回放状态Media.currentTime = value; //当前播放的位置,赋值可改变位置
Media.startTime; //一般为0,如果为流媒体或者不从0开始的资源,则不为0
Media.duration; //当前资源长度 流返回无限
Media.paused; //是否暂停
Media.defaultPlaybackRate = value;//默认的回放速度,可以设置
Media.playbackRate = value;//当前播放速度,设置后马上改变
Media.played; //返回已经播放的区域,TimeRanges,关于此对象见下文
Media.seekable; //返回可以seek的区域 TimeRanges
Media.ended; //是否结束
Media.autoPlay; //是否自动播放
Media.loop; //是否循环播放
Media.play(); //播放
Media.pause(); //暂停
//视频控制Media.controls;//是否有默认控制条
Media.volume = value; //音量
Media.muted = value; //静音
TimeRanges(区域)对象
TimeRanges.length; //区域段数
TimeRanges.start(index) //第index段区域的开始位置
TimeRanges.end(index) //第index段区域的结束位置
//相关事件var eventTester = function(e){Media.addEventListener(e,function(){console.log((new Date()).getTime(),e)},false);}
eventTester("loadstart"); //客户端开始请求数据
eventTester("progress"); //客户端正在请求数据
eventTester("suspend"); //延迟下载
eventTester("abort"); //客户端主动终止下载(不是因为错误引起)
eventTester("loadstart"); //客户端开始请求数据
eventTester("progress"); //客户端正在请求数据
eventTester("suspend"); //延迟下载
eventTester("abort"); //客户端主动终止下载(不是因为错误引起),
eventTester("error"); //请求数据时遇到错误
eventTester("stalled"); //网速失速
eventTester("play"); //play()和autoplay开始播放时触发
eventTester("pause"); //pause()触发
eventTester("loadedmetadata"); //成功获取资源长度
eventTester("loadeddata"); //
eventTester("waiting"); //等待数据,并非错误
eventTester("playing"); //开始回放
eventTester("canplay"); //可以播放,但中途可能因为加载而暂停
eventTester("canplaythrough"); //可以播放,歌曲全部加载完毕
eventTester("seeking"); //寻找中
eventTester("seeked"); //寻找完毕
eventTester("timeupdate"); //播放时间改变
eventTester("ended"); //播放结束
eventTester("ratechange"); //播放速率改变
eventTester("durationchange"); //资源长度改变
eventTester("volumechange"); //音量改变
4、基本示例
效果
代码
<template><div><vue3VideoPlayv-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>
vue3-video-play视频组件的使用(一)——基本使用 HTML5中Video标签的属性、方法和事件汇总相关推荐
- HTML5的Video标签的属性,方法和事件汇总
<video>标签的属性 src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览 ...
- html5的vidoe标签,HTML5的Video标签的属性,方法和事件
大多数的视频通过插件(例如flash)来播放,然而并非所有的浏览器都支持此类插件.HTML5规定了一种通过video来包含视频的标准方法.但是IE8及以下版本不支持video. HTML5的video ...
- 微信小程序 - 实现 <video> 视频组件自定义封面及播放按钮,给 video 视频播放组件加上封面图、封面标题、封面描述文字、自定义的播放按钮、DIY 封面等(详细示例源码)
前言 网上的教程都太乱了,根本无法进行改造,本文做优质的教程. 本文 实现了微信小程序项目中,给 <video> 视频播放组件增加自定义封面.播放按钮.描述等一切 DIY! 您直接一键复制 ...
- php video标签使用方法,HTML_HTML5 video标签(播放器)学习笔记(一):使用入门,近有在学习html5中video标签(播 - phpStudy...
HTML5 video标签(播放器)学习笔记(一):使用入门 近有在学习html5中video标签(播放器)的使用,这里做一些学习笔记,方便自己查阅和记录,本文是第一篇,将介绍的是使用该标签初始化该做 ...
- HTML5新增的video标签,HTML5中video标签的使用方法
HTML5中video标签的使用方法 发布时间:2020-08-27 11:33:56 来源:亿速云 阅读:100 作者:小新 这篇文章将为大家详细讲解有关HTML5中video标签的使用方法,小编觉 ...
- 解决html5中video标签无法播放mp4问题的办法
解决html5中video标签无法播放mp4问题的办法 参考文章: (1)解决html5中video标签无法播放mp4问题的办法 (2)https://www.cnblogs.com/it-tsz/p ...
- Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为ht
Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对 ...
- HTML5中video标签与canvas绘图的使用
原文:https://www.cnblogs.com/zhuzhenwei918/p/6822834.html video标签的使用 video标签定义视频, 它是html5中的新标签, 它的属性如下 ...
- html5中video标签设置视频的宽度和高度
转自:https://blog.csdn.net/hahhahahaa/article/details/94547802
最新文章
- 简单的Windows资源管理器——Java版本
- Linux-xargs命令
- Swift云存储特性研究
- 基于ZYNQ实时目标检测系统
- Python面试题目--汇总
- 前端加按钮将图片另存为_Windows 10系统如何将自己的照片制作成文件夹图标
- MongoDB 我的学习笔记
- 微软.net framework工具集帮助
- PAT乙级1030 完美数列 (25 分)
- 《精通Linux设备驱动程序开发》——1.6 查看源代码
- 【物理应用】基于matlab PIC模型太阳风粒子模拟【含Matlab源码 493期】
- 制作一个简单HTML个人网页网页(HTML+CSS)
- 验票系统认证服务器地址,北京增值税发票勾选认证(选择确认)平台入口
- 浅谈谷歌退出中国市场带来的问题
- 去水印小程序源码_图片去水印|去水印喵小程序
- fdisk分区以及格式化磁盘简要步骤
- 联想计算机怎么设置硬盘,联想电脑硬盘模式怎么更改
- 写代码有这16个好习惯,可以减少80%非业务的bug
- ogg在DDL语句同步时出现[Error code [942], ORA-00942的分析
- 工业POE交换机出现不供电怎么办?
热门文章
- 单片机c 语言0-99,单片机“0~99”加法计数器程序的设计51单片机原理及应用.doc...
- silverlight系列(Grid、Border、Sharp、Brush)
- 毕业论文数学公式输入
- nth-of-type和nth-child区别
- MT4/MT5使用dll调用matlab
- 计蒜客 17115 Coin(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B)
- 晒晒我的厨艺修炼成果
- Backdoor.Win32.Rbot病毒防治
- Java 工程师,掌握这些,你离大神只差一步
- 有计算机考试励志的文案,写给所有考生的励志文案:心有所期,全力以赴,定有所成...