首页 > 其他分享 >video标签 视频暂停播放的问题,vue中同一个video标签中多个视频的播放问题

video标签 视频暂停播放的问题,vue中同一个video标签中多个视频的播放问题

时间:2023-12-15 19:01:50浏览次数:38  
标签:视频 播放 false 轮播 标签 refs video videoView

获取后来返回来的视频地址放在了elment的走马灯里面 进行自动切换

要求:
实现双击在弹窗中播放,弹窗大小【1000*550】(第一点)
原视频和弹窗内视频互斥,不可同时播放(第二点)
上传多个视频,左右切换时,不可同时播放(第三点)
鼠标移入走马灯不自动轮播,点击播放时不自动轮播,鼠标移出,走马灯开始自动轮播(第四点)

<el-carousel
       v-else-if="samplingSceneVideofileList.length"
       height="300px"
       :autoplay="carout"
       class="videoCarousel"
       >
       <el-carousel-item
           v-for="(item, index) in samplingSceneVideofileList"
           :key="item.url"
           >
           <video
           :src="item.url"
           ref="videoView"
           style="width: 100%; height: 100%"
           :controls="isShowcontrols"
           controlsList="nofullscreen nodownload noplaybackrate noremote footbar"
           :disablePictureInPicture="true"
           @dblclick="playVideo"
           @play="handlePlay(index)"
           @pause="handlePause"
           @mouseenter="mouseenterPause"
           @mouseleave="mouseenterPlay"
           >
           您的浏览器不支持 video 标签。
           </video>
        </el-carousel-item>
    </el-carousel>
    <!-- video视频弹出框播放 -->
    <el-dialog
      :visible.sync="videoState"
      width="1000px"
      heigth="610px"
      :close-on-click-modal="false"
      class="videoDialog"
      :before-close="dialogClose"
      :append-to-body="true"
    >
      <video :src="videoSrc" controls="controls" autoplay>
        您的浏览器不支持 video 标签。
      </video>
    </el-dialog>
data() {
    return {
      videoSrc: "",
      videoState: false, //弹出框
      isShowcontrols: false, 
      carout: true,//走马灯是否自动轮播
      isPlay: false, //全局变量 判断是否有视频再播放
    };
  },
  methods:{
  //视频播放
  handlePlay(index) {
      const videoElement = this.$refs.videoView.length; 
      if (videoElement > 0) {
        for (let i = 0; i < videoElement; i++) {
          if (i == index) { //第三点 一个播放 其余的暂停  只允许一个播放 
            this.$refs.videoView[i].play();
          } else {
            this.$refs.videoView[i].pause();
          }
          this.isPlay = true;
        }
      }
    },
    //视频暂停
    handlePause() {
      this.isPlay = false;
    },
    //双击视频 第一点
    playVideo(index) {
      // 打开弹出框
      this.videoState = true;
      // 视频地址
      this.videoSrc = index.target.currentSrc;
      const videoData = this.$refs.videoView.length;
      if (videoData > 0) { //第二点  弹出框打开后 播放视频 原视频必须暂停
        for (let i = 0; i < videoData; i++) {
          if (!this.$refs.videoView[i].paused) {
            this.$refs.videoView[i].pause();
          } else {
            this.$refs.videoView[i].pause();
          }
        }
      }
    },
    // 鼠标移入
    mouseenterPause() {
      this.carout = false; //走马灯自动轮播暂停
      this.isShowcontrols = true; //播放器的工具
    },
    // 鼠标移出
    mouseenterPlay() {
      this.isShowcontrols = false; //播放器的工具
      if (this.videoState || this.isPlay) { //判断弹出框 和 视频是否在播放
        return; //返回false
      } else {
        this.carout = true;//走马灯自动轮播开启
      }
    },
    //弹出框关闭按钮
    dialogClose() {
      this.videoState = false;
      this.carout = true;//走马灯自动轮播开启
    },
  }
图片示意图

video标签 视频暂停播放的问题,vue中同一个video标签中多个视频的播放问题_element u走马灯

video标签 视频暂停播放的问题,vue中同一个video标签中多个视频的播放问题_video视频_02

标签:视频,播放,false,轮播,标签,refs,video,videoView
From: https://blog.51cto.com/u_16167457/8843697

相关文章

  • WVP+ZLMediaKit实现摄像头GB28181推流播放
    一、介绍概述WVP-PRO基于GB/T28181-2016标准实现的流媒体平台,依托优秀的开源流媒体服务ZLMediaKit,提供完善丰富的功能。GB/T28181-2016中文标准名称是《公共安全视频监控联网系统信息传输、交换、控制技术要求》是监控领域的国家标准。大量应用于政府视频平台。通过28181......
  • Ant Design Vue <a-tabs>标签内嵌使用
    <a-tabs :activeKey="activeKey" @change="handleTabChange">        <a-tab-pane v-for="(item, index) in menuList" :key="item.id" :tab="item.name" :index="index">          <div>......
  • 语音播放
    <template> <button@click="playVoice">播放语音</button></template><script>constsynth=window.speechSynthesis;constmsg=newSpeechSynthesisUtterance();exportdefault{data(){ return{};},mounted(){ thi......
  • 关于mp3无法在旧设备播放的原因之一——比特率
    发现问题下载qq音乐ogg格式,将ogg格式更改为mp3格式,播放设备无法播放的问题。解决方式利用qq音乐音频转码工具(免费,但转换速度较慢,可以使用专业的音频转码软件或相关开源代码),更改音频的比特率。 部分旧播放设备不支持320kbps,需要将音频转码192kbps。 ......
  • html 5(三)之框架标签
    iframe嵌入嵌入广告<iframesrc="网址"height=""width=""frameborder=""></iframe>与超链接target关联<ahref="httos://www.toutiao.com"target="container">头条</a><iframename=&q......
  • Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
    一、前言随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲。早期的手机估计性能弱鸡,而现在的手机性能不是一般的牛,甚至超越了PC机的性能,所以手机上查看多路监控也就有了硬件基础前提。对......
  • Android视频播放器——DKVideoPlayer
    DKVideoPlayer介绍:1.标星5k的Android视频播放器,支持原生VideoView组件核心,Bilibili的IjkPlayer组件核心,ExoPlayer组件核心,可切换核心2.视频组件自带播放暂停,进度条,全屏,播放开始,播放结束,重新播放等ui样式。也可自己修改界面样式和功能3.可设置静音,轮播,倍速,小窗,锁......
  • 视频监控管理平台/智能监测/检测系统EasyCVR中HLS流无法播放的解决方案
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能......
  • 视频监控管理平台/智能监测/检测系统EasyCVR中HLS流无法播放的解决方案
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的......
  • ExoPlayer播放流程解析
    ExoPlayer的播放解析流程如下(以音频为例):注意:1、LoadControl.shouldContinueLoading控制是否继续加载。2、调用setPlayWhenReady(true)其实最终也是调用了AudioTrack的play()各个部分的作用:Extractor(解析器):负责从媒体容器中提取音频和视频数据,如MP4、FLV等。它将输入的媒体......