videoPlay播放视频

526 阅读1分钟

方式1:

vue3调用videoPlay,在Dialog 中播放视频,在option中可以设置播放器属性,其中src为视频路径

<template>
  <Dialog :title="dialogTitle" v-model="dialogVideoVisible">
    <div class="video-container">
      <videoPlay ref="aplayVideo" v-bind="options" @play="onPlay" />
    </div>
  </Dialog>
</template>

<script setup>
import 'vue3-video-play/dist/style.css'
import { videoPlay } from 'vue3-video-play'
//播放器
const options = reactive({
  width: '100%', //播放器高度
  height: '100%', //播放器高度
  color: '#409eff', //主题色
  title: '', //视频名称
  webFullScreen: false, //网页全屏
  speed: true, //是否支持快进快退
  currentTime: 0, //跳转到固定播放时间(s)
  muted: false, //静音
  autoPlay: true, //自动播放
  loop: false, //循环播放
  mirror: false, //镜像画面
  control: true, //是否显示控制器
  ligthOff: false, //关灯模式
  volume: 0.3, //默认音量0-1
  src: '', //视频源
  poster: '', //封面
  speedRate: [1.0, 1.25, 1.5, 2.0], // 可选的播放速度
  controlBtns: [
    'audioTrack', //音轨切换按钮
    'quality', //视频质量切换按钮
    'speedRate', //速率切换按钮
    'volume', //音量
    'setting', //设置
    'pip', //画中画按钮
    'pageFullScreen', //网页全屏按钮
    'fullScreen' //全屏按钮
  ] //显示所有按钮
})

方式2:

使用video在同一个页面,播放多个视频列表

<template>
  <div class="grid-container">
    <div v-for="video in videos" :key="video.id" class="grid-item">
      <video :src="video.url" controls loop autoPlay muted></video>
      <p>{{ video.title }}</p>
    </div>
  </div>
</template>

<script setup>
const videos = [
  { id: 1, url: '/static-video/test1.mp4', title: '测试1' },
  { id: 2, url: '/static-video/test2.mp4', title: '测试2' },
  { id: 3, url: '/static-video/test3.mp4', title: '测试3' },
  { id: 4, url: '/static-video/test4.mp4', title: '测试4' },
  { id: 5, url: '/static-video/test5.mp4', title: '测试5' },
  { id: 6, url: '/static-video/test6.mp4', title: '测试6' }
]
</script>
<style scoped>
.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 每行4个格子 */
  grid-gap: 5px; /* 格子之间的间隔 */
}

.grid-item {
  width: 100%;
}
p {
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
</style>