vue 项目中点击弹窗后实现视频播放(包含关闭弹窗视频暂停)

背景

vue 项目使用 antd vue Modal 弹窗 ,点击事件触发后,弹窗播放视频,播放视频使用 video 标签

video相关属性


补充:

video 标签内可以添加 source 标签

Source标 签用于媒体(因为audio标签同样可以包含此标签,所以这儿用媒体,而不是视频)指定多个可选择的(浏览器最终只能选一个)文件地址,且只能在媒体标签没有使用 src 属性时使用。

浏览器按 source 标签的顺序检测标签指定的视频是否能够播放(可能是视频格式不支持,视频不存在等等),如果不能播放,换下一个。此方法多用于兼容不同的浏览器。Source 标签本身不代表任何含义,不能单独出现。

代码实现

简单思路

通过ref的使用得到video标签身上的属性及方法,然后加以控制(播放和暂停)

template

 // 我是给图片标签绑定点击事件,这个大家根据自己的需求更改
<img :src="record.video "  @click="SeeVideo"  width="200">
 <a-modal
    title="预览视频"
    :width="600"
    :visible="viewVideo"
    :footer="null"
    @cancel="handleCancel"
 >
// videoUrl 为视频链接
      <video
          :src="this.videoUrl"
           width="500"
           autoplay="autoplay"
           controls="controls"
           :state="viewVideo"
           ref="vueRef"
      ></video>
 </a-modal>

script

  // data
  // 弹窗展示状态 默认false
    viewVideo:false,
  // 视频链接   这个大家可以写上自己的视频地址
   videoUrl:'',


  // methods
   // 预览视频
    SeeVideo(){
     this.viewVideo = true
     this.$refs.vueRef.play();//播放  
    },

    // 取消预览
    handleCancel(e) {
      this.viewVideo = false;
      this.$refs.vueRef.pause();//暂停
    },

 像这样就可以实现点击之后,打开弹窗实现视频播放了


文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会 一 一 回复

文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力     长路漫漫,道阻且长

Vue2,如果你想要在点击按钮后通过弹窗播放mp4格式的视频,你可以使用`video`标签结合模态框组件(如Element UI的Dialog,或者自己定义的简单模态框)来实现。以下是基本的实现步骤: 1. 首先,确保你的项目已经安装并引入了模态框组件库,如果使用Element UI,则需要按照文档配置好所需的组件。 2. 在你的Vue组件定义一个数据属性用于控制模态框的显示与隐藏,例如`showModalVideo`。 3. 在模态框添加一个`video`标签,并设置其`src`属性为视频文件的路径。 4. 定义一个方法,当点击按钮时触发该方法,该方法将设置`showModalVideo`为`true`,以显示模态框。 5. 确保模态框组件的关闭逻辑可以响应用户的关闭操作,并将`showModalVideo`设置为`false`,从而关闭模态框。 示例代码如下: ```html <template> <div> <el-button @click="openVideoModal">播放视频</el-button> <el-dialog :visible.sync="showModalVideo" title="视频播放"> <video width="320" height="240" controls> <source :src="videoSrc" type="video/mp4"> 您的浏览器不支持视频标签。 </video> <div slot="footer" class="dialog-footer"> <el-button @click="showModalVideo = false">关闭</el-button> </div> </el-dialog> </div> </template> <script> export default { data() { return { showModalVideo: false, videoSrc: '你的视频文件路径.mp4' }; }, methods: { openVideoModal() { this.showModalVideo = true; } } }; </script> ``` 在这个例子,`el-button`是Element UI提供的按钮组件,点击后会触发`openVideoModal`方法,该方法使得`showModalVideo`变为`true`,显示模态框。模态框嵌入了`video`标签用于播放视频
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潮汐未见潮落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值