最近一直在处理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);

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

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

  1. video 手机全屏自动播放

    <video src="video.mp4" id="video" x-webkit-airplay="true" webkit-pl ...

  2. video标签实现简单视频背景+遇到问题(视频无法显示,不能自动播放)

    最近看网上有一些网站首页背景是炫酷的视频背景,就想模拟一个 1.video标签简介 video标签定义视频,就是可以在网页上实现视频的播放,详情见http://www.w3school.com.cn/ ...

  3. H5移动端视频问题(苹果全屏播放问题等)

    iphone上,手动.自动.窗口化等问题 iphone窗口化 解决方案: 通过canvas + video标签结合处理 原理: 获取video的原图帧,通过canavs绘制到页面. 我们一般在苹果上在 ...

  4. video 全屏,播放,隐藏控件。

    requestFullscreen全屏具体实现 1.进入全屏 function full(ele) { if (ele.requestFullscreen) { ele.requestFullscre ...

  5. Android 使WebView支持HTML5 Video(全屏)播放的方法

    http://blog.csdn.net/zrzlj/article/details/8050633  1)需要在AndroidManifest.xml文件中声明需要使用HardwareAcceler ...

  6. Xamarin安卓开发:去掉Activity的头部标题栏及全屏显示

    http://blog.csdn.net/u012234115/article/details/35814209 以下是用修改布局文件的方法,其实还有用C#代码的方法. 打开AndroidManife ...

  7. HTML5新标签video在iOS上默认全屏播放

    今天做一个app时发现一个问题,应用html5中的video标签加载视频,在Android手机上默认播放大小,但是换成iPhone手机上出问题了,默认弹出全屏播放,查找了好多论坛,都没有谈论这个的.然 ...

  8. html-----vedio标签(HTML5新标签VIDEO在IOS上默认全屏播放)

    今天做一个app时发现一个问题,应用html5中的video标签加载视频,在Android手机上默认播放大小,但是换成iPhone手机上出问题了,默认弹出全屏播放,查找了好多论坛,都没有谈论这个的.然 ...

  9. 移动端Video标签踩坑记录

    需求 用户能在手机上上传视频并预览. 问题 上传完成后安卓下封面展示正常,ios下封面空白.如下图所示: 利用canvas截取视频第一帧发现,ios下截取到的第一帧一直是空白图片, 安卓正常. 后端利 ...

随机推荐

  1. MVC View中获取action、controller、area名称、参数

    获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); 获取Action名称: ViewContext.Ro ...

  2. io.lettuce.core.RedisCommandTimeoutException: Command timed out

    遇到的情况是 redis timeout时间设置过短(我设置成0了),默认多少也查不到

  3. Asp.net并发请求导致的数据重复插入问题

    前段时间工作中,有客户反应了系统中某类待办重复出现两次的情况.我核实了数据之后,分析认为是并发请求下导致的数据不一致性问题,并做了重现.其实这并不是一个需要频繁调用的功能,但是客户连续点击了两次,导致 ...

  4. SQL Server SubString和charindex的用法

    语法 SUBSTRING ( expression , start , length ) 参数 expression 是字符串.二进制字符串.text.image.列或包含列的表达式.不要使用包含聚合 ...

  5. Docker 学习9 Docker私有registry

    一.docker registry分类 二.安装docker-hub提供的registry 1.安装 [root@localhost yum.repos.d]# yum install -y dock ...

  6. 2018-2019-2 网络对抗技术 20165319 Exp2 后门原理与实践

    后门的基本概念及基础问题 后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径. [1] 后门程序,跟我们通常所说的"木马"有联系也有区别.联系在于: ...

  7. java无需解压zip压缩包直接读取包内的文件名(含中文)

    java自带了java.util.zip工具可以实现在不解压zip压缩包的情况下读取包内文件的文件名:(注:只能是ZIP格式的,rar我试了不行)代码如下: public static String ...

  8. Little Sub and Isomorphism Sequences ZOJ - 4089

    ZOJ - 4089 思路:可以反正 最长重构序列必然符合  此模式 x  +  {   }  与  {   }  +  x 那么 题意转化为了  找两个距离最长的相同的数.eeee 先离散化 然后 ...

  9. functools.wraps函数

    原文地址:https://www.cnblogs.com/fcyworld/p/6239951.html 第一次见到functools.wraps是在 Flask Web开发 中,一直不明白怎么回事. ...

  10. Mac下使用数据库将Excel数据转换存入.plist

    记录于2013/10/26   基本步骤: 1.将Excel表格另存为.csv格式 2.用类似TextWrangler工具将.csv文件转成UTF-8格式 3.使用火狐插件SQLite Manager ...