最近做的些web页面,内嵌许多小视频,在ios和安卓手机上播放时,遇到不少问题:

在微信浏览器内播放时,视频会自动全屏

解决办法:

给video标签加一些属性,调用h5原生video,我写了个例子,加了注释,如果有错误,烦指正,谢谢!

width="100%"

controls /*这个属性规定浏览器为该视频提供播放控件*/

/*加这个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" /*这个属性规定页面加载完成后载入视频*/

如果你的video标签也加了上面的属性,那么,你的视频可以在IOS手机上的小窗口播放,同时,视频封面同视频的宽度与高度也保持一致了。

经过各种尝试,在iOS下,可以给video添加webkit-playsinline属性,使视频在页面上原本位置播放,但这个属性在安卓上无效。

/华丽丽的分割线,以下内容摘抄自网络,供参考/

IOS微信浏览器是Chrome内核,下面大部分属性都支持,安卓微信浏览器是X5内核,一些属性是不支持的,比如可以设置局部播放的属性 playsinline,因此,始终是全屏。

下面的内容用以解释上面的内容:

preload="auto" :属性规定在页面加载后载入视频。如果设置了 autoplay 属性,则忽略该属性。

一般参数可能的值:

· auto - 当页面加载后载入整个视频

· meta - 当页面加载后只载入元数据

· none - 当页面加载后不载入视频

muted:当设置该属性后,它规定视频的音频输出应该被静音

controls="controls" :属性规定浏览器应该为视频提供播放控件。

autoplay="autoplay": 视频自动播放设置,但是有经验的人都应该知道,autoplay标签在手机上不兼容,APP中设置问题导致无法自动播放,无论安卓或IOS。需要模拟自动播放只能通过一些事件触发。

webkit-playsinline playsinline:视频播放时局域播放,不脱离文档流 。但是这个属性比较特别, 需要嵌入网页的APP比如WeChat中UIwebview 的allowsInlineMediaPlayback = YES webview.allowsInlineMediaPlayback = YES,才能生效。换句话说,如果APP不设置,你页面中加了这标签也无效,这也就是为什么安卓手机WeChat 播放视频总是全屏,因为APP不支持playsinline,而ISO的WeChat却支持。

这里就要补充下,如果是想做全屏直播或者全屏H5体验的用户,ISO需要设置删除 webkit-playsinline 标签,因为你设置 false 是不支持的 ,安卓则不需要,因为默认全屏。但这时候全屏是有播放控件的,无论你有没有设置control。 做直播的可能用得着播放控件,但是全屏H5是不需要的,那么去除全屏播放时候的控件,需要以下设置:同层播放。

x5-video-player-type:启用同层H5播放器,就是在视频全屏的时候,div可以呈现在视频层上,也是WeChat安卓版特有的属性。同层播放别名也叫做沉浸式播放,播放的时候看似全屏,但是已经除去了control和微信的导航栏,只留下"X"和"

x5-video-orientation:声明播放器支持的方向,可选值landscape 横屏, portraint竖屏。默认值portraint。无论是直播还是全屏H5一般都是竖屏播放,但是这个属性需要x5-video-player-type开启H5模式

x5-video-player-fullscreen:全屏设置。笔者还未能领悟这个标签的用意,在测试过程中发现,ture和false的设置会导致布局上的不一样,如图 Click标签先后的位置。

另外补充下,ISO 微信浏览器是Chrome的内核,相关的属性都支持,也是为什么X5同层播放不支持的原因。安卓微信浏览器是X5内核,一些属性标签比如playsinline就不支持,所以始终全屏。

/貌似到这里,了解了为什么安卓手机的全屏视频了/

还有个问题,在Android的微信里面,就算加上了上面的属性,还会出现上下有黑边,不能全屏的问题。

解决办法:给video加上object-fit: fill;的style属性。

/关于微信内置浏览器不能小窗口播放视频的问题-知乎答/

在最新的ios微信6.5.3及其之后的版本中,webview默认支持小窗播放,

开发者需要特别注意小窗播放需要前端同时适配iOS10和iOS10以下的低版本

适配建议:需要完全按照以下代码设置video标签才可同时兼容不同的iOS版本

微信浏览器video标签没有封面_video 标签在微信浏览器的问题解决方法相关推荐

  1. 关于jenkins初次安装,浏览器打开出现离线和推荐插件安装不上的问题解决方法

    关于jenkins初次安装,浏览器打开出现离线和推荐插件安装不上的问题解决方法 1.jenkins启动后提示:该jenkins实例似乎已离线 解决上述问题方法:修改jenkins工作目录下 -/jen ...

  2. 微信内置浏览器video标签自动全屏播放以及层级过高问题

    转载自:微信内置浏览器video标签自动全屏播放以及层级过高问题 - 程序员大本营 今天事用html5的<video>标签做微信内置浏览器视频播放页面时,需要在视频层级上显示类似弹幕的对话 ...

  3. 解决微信浏览器video标签自动播放视频失效

    正常在浏览器好好的视频,在微信内置浏览器中点击播放全屏,样式也不一样,自动播放失效.罪魁祸首是微信把video标签都成微信规则的了.下面方式可以解决视频播放全屏以及不能自动播放的问题. <vid ...

  4. 【踩坑】HTML5 Video 标签 poster 属性 无法在苹果Safari浏览器显示视频封面

    1.问题描述: video标签用poster属性写入视频封面图在chrome系列浏览器可以正常显示,但是在PC端苹果Safari浏览器却无法显示,把poster网络图片链接切换成本地图片也不行. 2. ...

  5. android微信网页视频播放器,安卓微信内置浏览器video的坑

    几个小时的探索,发现这是微信内置浏览器自身的问题. Q:我也有问题想问.我在做一个HTML5页面,其中使用video标签播放视频,但是这个video是总是表现在最顶层,无论怎样调节z-index属性都 ...

  6. html5前端Video视频标签和audio音频标签的使用

    html5前端Video视频标签和audio音频标签的使用 h5新特性中关于Video视频标签和audio音频标签的使用和浅谈 一.Video视频标签 video标签是h5新特性中用来播放视频的控件, ...

  7. 微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置

    H5.微信.App唤端相关 一.微信分享 二.浏览器H5跳转到APP 三.微信H5跳转到APP 一.条件说明 二.文档 三.重要的设置 四.注意点 五.样式设置 一.微信分享 参看:微信分享:后端参数 ...

  8. HTML5新元素(测试了大部分浏览器可用的元素,部分标签有详细讲解)

    h5新元素列表 一.<canvas>新元素 二.新多媒体元素 1.<audio>标签 2.<video>标签 三.新表单元素 1.<datalist>标 ...

  9. 小程序 a标签_微信内循环生态:朋友圈标签引流视频号、小程序、搜一搜

    2019 年 1 月,张小龙在广州的微信公开课 Pro 上进行了一场 4 小时的超时演讲,在演讲中,他举了一个和朋友圈相关的例子,每个人每天在朋友圈里花的时长基本是固定的,随着好友发的内容越来越多,用 ...

最新文章

  1. DOS BAT用法简例子
  2. java监控对话框是否关闭_java – 检查是否可以安全地关闭对话框
  3. springboot创建单个对象
  4. SAP BSP同本地硬件的集成
  5. coreleft函数
  6. JDBC与JNDI应用比较
  7. audio unity 加速_浅谈Unity中Android、iOS音频延迟
  8. 解决透视变换后图片信息丢失的问题
  9. Ping记录时间的方法
  10. List中对象model的排序问题
  11. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)
  12. 点对点协议(PPP)
  13. Pytorch总结十五之优化算法:AdaGrad、RMSProp、AdaDelta、Adam算法详解
  14. lora_pkt_fwd.c代码解读
  15. 如何预防 CSRF 攻击?
  16. OpenJDK源码赏析之四(jli_util中的工具函数)
  17. csgo原始输入开不开_CSGO职业哥参数配置:帅气猪猪JW
  18. Java8~9章 复习(三)
  19. 计算机无法读取内存,图文教你如何修复电脑无法识别读取的U盘(SD卡)!-内存卡在电脑上读不出来怎么办...
  20. 一个高质量的智能单元测试平台——iUnit

热门文章

  1. C# 通用方法MD5计算
  2. 惠州教学实验室建设与管理
  3. Vue项目axios在IE浏览器报promise错误的解决办法
  4. unity基础学习九,Unity常用API
  5. 2023年全国最新二级建造师精选真题及答案46
  6. 【MySQL】 ---- 共享锁、独占锁、行锁、表锁
  7. 商品品牌信息的增删改查操作步骤_畅购商城(三):商品管理
  8. 胡乱捣鼓03——PID定身12cm直线追踪小车做起来~
  9. 曲线行驶最后什么时候回正_曲线行驶出弯时什么时候回正方向
  10. c++字符串转换为数字(stoi, stol, stoul, stoull, stof, stod, stold)