Skip to content
On this page

video

视频组件。

Props

参数类型默认值必填说明
srcstring要播放视频的资源地址,支持网络路径、本地临时路径
durationnumber指定视频时长(只是显示视频总时长,不会改变原有视频的进度)
controlsbooleantrue是否显示默认播放控件
autoplaybooleanfalse是否自动播放
loopbooleanfalse是否循环播放
mutedbooleanfalse是否静音播放
initial-timenumber0指定视频初始播放位置
directionnumber设置全屏时视频的方向,不指定则根据宽高比自动判断
合法值说明
0正常竖向
90屏幕逆时针90度
-90屏幕顺时针90度
show-progressbooleantrue是否显示控制栏的进度条
show-fullscreen-btnbooleantrue是否显示控制栏的全屏按钮
show-play-btnbooleantrue是否显示控制栏的播放按钮
show-mute-btnbooleanfalse是否显示控制栏的静音按钮
show-center-play-btnbooleantrue是否显示视频中间的播放按钮
show-screen-lock-buttonbooleanfalse是否显示锁屏按钮,仅在全屏时显示,锁屏后控制栏的操作
object-fitstringcontain当视频大小与 video 容器大小不一致时,视频的表现形式
合法值说明
contain包含
fill填充
cover覆盖
posterstring视频封面的图片网络资源地址
titlestring视频的标题,全屏时在顶部展示
play-btn-positionstringbottom播放按钮的位置
合法值说明
bottom控制栏
center视频中间
enable-progress-gesturebooleantrue是否开启控制进度的手势
enable-play-gesturebooleanfalse是否开启播放手势,即双击切换播放/暂停
vslide-gesturebooleanfalse在非全屏模式下,是否开启亮度与音量调节手势
vslide-gesture-in-fullscreenbooleanfalse在全屏模式下,是否开启亮度与音量调节手势

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 }
seekcompleteseek 完成时触发,单位为秒{ 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>