ios内嵌h5的video标签,不显示视频第一帧,只显示了一个播放器,当点击播放了一次之后,才显示出了第一帧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios内嵌h5的video标签,不显示视频第一帧,只显示了一个播放器,当点击播放了一次之后,才显示出了第一帧相关的知识,希望对你有一定的参考价值。

这两张图片是在app里面的,在浏览器的时候是正常的。请问这样是要app修改还是要h5改动什么?
求助大神

参考技术A 上面盖一张imageview

关于video标签移动端开发遇到的问题,获取视频第一帧,全屏,自动播放,自适应等问题

最近一直在处理video标签在IOS和Android端的兼容问题,其中遇到不少坑,绝大多数问题已经解决,下面是处理问题经验的总结:

   1.获取视频的第一帧作为背景图;

      技术:canvas绘图

     

window.onload = function(){
var video = document.getElementById(‘video‘);
//使用严格模式
‘use strict‘;
//第一帧图片与原视频的比例
var scal = 0.8;
//监听页面加载事件
video.addEventListener(‘dataLoad‘,function(){
//创建一个画布
var canvas = document.createElement(‘canvas‘);
canvas.width = video.style.width*scal;
canvas.height = video.style.height*scal;
//绘制图片
canvas.getContentext(‘2d‘).drawImage(video,0,0,canvas.width,canvas.height);
//设置标签的poster属性
viseo.setAttribute("poster",canvas.toDataURL("image/png"));

});
}

2.禁止安卓手机自动全屏

  video标签在安卓系统下,默认全屏,通过添加属性可以禁止全屏,

  x5-playsinline="true",切记添加该属性后不能再有x5-video-player-type=‘h5‘ x5-video-player-fullscreen=‘true‘,否则还会默认全屏

 

3.播放视频时,不能完全覆盖的问题

 此时需要给video标签添加style样式

width:100%;height:100%;object-fit:fill;

此外,video标签的父元素应该设置宽高:width:100%;height:100%;

 

4.自动播放问题

在pc端,只需要给video标签加上autoplay = ‘autoplay‘属性即可,

在移动端需要使用js判断

首先应在也页面中引入<script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>

$(‘#video_play‘).play();
    
document.addEventListener(‘WeixinJSBridgeReady‘, function () {
                $(‘#video_play‘).play();
            
}, false);

在安卓中,是无法实现加载后自动播放功能的,需要引到用户产生行为,触发事件,

 

以上是关于ios内嵌h5的video标签,不显示视频第一帧,只显示了一个播放器,当点击播放了一次之后,才显示出了第一帧的主要内容,如果未能解决你的问题,请参考以下文章

ios下app内嵌h5页面是video适配问题

关于video标签移动端开发遇到的问题,获取视频第一帧,全屏,自动播放,自适应等问题

h5 canvas截取视频第一帧

视频封面设置为第一帧

如何在h5中添加视频?

video设置第一帧