web-view组件视频无法自动播放

之前在微信小程序中嵌入了H5,今天发现视频在模拟器和网页中正常,但是真机上无法播放的问题。

做过的尝试:

  • 检查链接是否为https
  • 是否添加合法域名
  • 改为本地资源加载

均以失败告终。

观察后发现,并不是资源加载问题,真机上视频出现完整进度条,说明加载完毕。经检验,原来是原生video的autoplay属性不被web-view支持,导致视频不能播放的bug。改为调用DOM对象的play() 方法实现!

1
2
3
4
5
mounted() {
this.videoCtx = document.getElementById("id_of_video");
// 自动播放
this.videoCtx.play();
}

附上移动端video标签的一些属性:

1
2
3
4
5
6
7
8
9
10
11
12
<video
id="video"
preload="auto"
x-webkit-airplay="true"
webkit-playsinline="true"
playsinline
x5-video-player-type="h5"
x5-video-player-fullscreen="true"
loop
src="../../../public/media/xxxxx.mp4"
>
</video>

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!