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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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中就能解决问题

Vue使用video-player无法播放视频的问题,可能是由于微信浏览器的限制导致的。微信浏览器对视频自动播放有一些限制,需要用户手动触发播放操作。为了解决这个问题,你可以使用以下方法: 1.video标签中添加属性"autoplay"来实现视频的自动播放。例如: ```html <video autoplay> <source src="your_video_url" type="video/mp4"> </video> ``` 2. 如果自动播放仍然无效,你可以尝试添加其他兼容性属性。例如: ```html <video webkit-playsinline="true" x-webkit-airplay="true" playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="true" autoplay> <source src="your_video_url" type="video/mp4"> </video> ``` 请注意,以上方法中的"your_video_url"需要替换为你实际的视频链接地址。 另外,你还可以通过在Vue的mounted钩子函数中使用JavaScript代码来实现视频的自动播放。例如: ```javascript mounted() { this.$nextTick(() => { var video = document.getElementById("example_video"); video.play(); }) } ``` 以上代码是通过获取video元素并调用play()方法来实现视频的自动播放。请确保你的video元素具有id属性,并且id与代码中的"example_video"一致。 综上所述,你可以尝试在Vue使用以上方法来解决video-player无法播放视频的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue使用video插件微信浏览器中视频无法自动播放问题](https://blog.csdn.net/JLX981314/article/details/126111883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值