vue中使用video插件在微信浏览器中视频无法自动播放的问题

在vue项目中使用video.js插件时,遇到了微信浏览器视频无法自动播放的难题。经过五六个小时的尝试,最终找到了简洁的解决方案。只需在video标签中添加webkit-playsinline、playsinline等属性,并在js中调用video.play()即可实现自动播放。同时,代码中还包含了销毁和重置video的处理。
摘要由CSDN通过智能技术生成

在vue中使用video插件在微信浏览器中视频无法自动播放的问题(已解决)

在用vue写h5的时候遇到一个需求,页面背景设置为视频,就用了video.js插件,最后卡在了微信上无法自动播放视频,在网上搜的答案全是一致的复制粘贴,没一点用,在经历了五六个小时后,终于解决了问题,其实 实现方法并没有网上那么复杂,废话不多说,直接上代码!
注意:有些属性没有来得及测试是否需要,大家可根据测试效果自行删除!!!

测试机:安卓华为p30,ios暂未测试,不过看网上说的ios比较好设置,以下代码也设置了兼容

 //下载好插件不用再去搞什么子路由,直接在需要插入视频的地方插入video标签
  <video
         webkit-playsinline="true"
          x-webkit-airplay="true" 
          playsinline="true" 
         x5-video-player-type="h5"
         x5-video-player-fullscreen="true" 
         width="100%" 
         height="100%"
          id="example_video" 
          class="video-js " 
          preload='auto'
          autoplay='true'
          loop
          muted
          poster="../assets/video/01.jpg"
          >
          //src就是你的视频地址,我这里是需要每次进入页面随机切换背景视频,所以用了计算属性
	        <source :src="dd.src" type="video/mp4">
    </video>
    

js

  mounted(){
  //视频自动播放
  this.$nextTick(()=>{
    var video = document.getElementById("example_video");
      video.play();
  }),
    destroyed(){
  // this.videoPlayer.dispose(); //销毁video
  //或者重置video
   this.$nextTick(()=>{
    var video = document.getElementById("example_video");
      video.reset();
})
}

是的,你没看错,就是这么简单,并没有网上那么复杂的获取什么什么的,因为我都试过坑了,到最后发现直接在created中就能解决问题

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值