video
视频组件。
Props
参数 | 类型 | 默认值 | 必填 | 说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
src | string | 是 | 要播放视频的资源地址,支持网络路径、本地临时路径 | ||||||||||
duration | number | 否 | 指定视频时长(只是显示视频总时长,不会改变原有视频的进度) | ||||||||||
controls | boolean | true | 否 | 是否显示默认播放控件 | |||||||||
autoplay | boolean | false | 否 | 是否自动播放 | |||||||||
loop | boolean | false | 否 | 是否循环播放 | |||||||||
muted | boolean | false | 否 | 是否静音播放 | |||||||||
initial-time | number | 0 | 否 | 指定视频初始播放位置 | |||||||||
direction | number | 否 | 设置全屏时视频的方向,不指定则根据宽高比自动判断 | ||||||||||
| |||||||||||||
show-progress | boolean | true | 否 | 是否显示控制栏的进度条 | |||||||||
show-fullscreen-btn | boolean | true | 否 | 是否显示控制栏的全屏按钮 | |||||||||
show-play-btn | boolean | true | 否 | 是否显示控制栏的播放按钮 | |||||||||
show-mute-btn | boolean | false | 否 | 是否显示控制栏的静音按钮 | |||||||||
show-center-play-btn | boolean | true | 否 | 是否显示视频中间的播放按钮 | |||||||||
show-screen-lock-button | boolean | false | 否 | 是否显示锁屏按钮,仅在全屏时显示,锁屏后控制栏的操作 | |||||||||
object-fit | string | contain | 否 | 当视频大小与 video 容器大小不一致时,视频的表现形式 | |||||||||
| |||||||||||||
poster | string | 否 | 视频封面的图片网络资源地址 | ||||||||||
title | string | 否 | 视频的标题,全屏时在顶部展示 | ||||||||||
play-btn-position | string | bottom | 否 | 播放按钮的位置 | |||||||||
| |||||||||||||
enable-progress-gesture | boolean | true | 否 | 是否开启控制进度的手势 | |||||||||
enable-play-gesture | boolean | false | 否 | 是否开启播放手势,即双击切换播放/暂停 | |||||||||
vslide-gesture | boolean | false | 否 | 在非全屏模式下,是否开启亮度与音量调节手势 | |||||||||
vslide-gesture-in-fullscreen | boolean | false | 否 | 在全屏模式下,是否开启亮度与音量调节手势 |
Events
事件名 | 说明 | 回调参数 |
---|---|---|
play | 开始/继续播放时触发 | |
pause | 暂停播放时触发 | |
ended | 播放到末尾时触发 | |
timeupdate | 播放进度变化时触发,触发频率 250ms 一次 | { currentTime: number, duration: number } |
fullscreenchange | 视频进入和退出全屏时触发 | {fullScreen: boolean, direction: 'vertical' | 'horizontal' } |
waiting | 视频出现缓冲时触发 | |
error | 视频播放出错时触发 | |
progress | 加载进度变化时触发,只支持一段加载,单位为百分比 | { buffered: number } |
loadedmetadata | 视频元数据加载完成时触发 | { width: number, height: number, duration: number } |
controlstoggle | 切换 controls 显示隐藏时触发 | { show: boolean } |
seekcomplete | seek 完成时触发,单位为秒 | { position: number } |
Example
vue
<template>
<video
src="https://exmaple.com/test.mp4"
title="text.mp4"
vslide-gesture
:show-center-play-btn="false"
:autoplay="false"
muted
show-mute-btn
loop
></video>
</template>