解决html5 video 标签在微信浏览器的问题解决方法

今天夫人说客户需要制作一个微专题页面,她们部门的美工对于视频不知道如何解决,采用的是链接的方式,即对页面内的图片加超链,然后连接到mp4文件,这种体验感并不好,考虑到她们单位由于安全原因,不能使用第三方最好的是在本页面直接镶嵌Mp4视频文件,所以用html5的video标签容易解决。

解决思路

1、既然是微专题,就必须支持ios浏览器、android 移动端浏览器、微信浏览器支持;

2、视频的宽高需要达到自适应;

3、缓冲自动播放;

最初的反应是蓝卡在以前文章「PC端和移动端都支持视频video自动播放的代码」,进行测试后给pass掉了,居然不支持微信浏览器,而且宽高未按比例缩放。

通过检索,终于得到一个可用的代码,做下记录。

最终解决方案

<video class="video-source"
     controls poster="https://www.lanka.cn/images/123.jpg"
     width="100%"
   height="240px"  /*如果有封面,请设置高度*/
     style="object-fit:fill"  /*加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小*/
     webkit-playsinline="true"  /*这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放*/  
     x-webkit-airplay="true"  /*这个属性还不知道作用*/ 
     playsinline="true"  /*IOS微信浏览器支持小窗内播放*/ 
     x5-video-player-type="h5" /*启用H5播放器,是wechat安卓版特性*/
     x5-video-orientation="h5" /*播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏*/
     x5-video-player-fullscreen="true" /*全屏设置,设置为 true 是防止横屏*/
     preload="auto" /*这个属性规定页面加载完成后载入视频*/  >
<source src="http://img.lanka.cn/video/123.mp4" type="video/mp4">
</video>