H5内联视频总结
概述
之前写过h5内联视频,总结了一下当时做微信视频类h5的心得,随着工作中越来越多的接触h5,我有了更多的心得与经验,记下来供以后开发时参考,相信对其他人也有用。
内联视频的播放
内联视频需要用户主动触发才能播放,最常见的是在loading界面之后会有一个按钮来触发内联视频播放。(网上说的WeixinJSBridgeReady试过了并不管用,因为这个是旧的jssdk,又查到可以用wx.ready()方法,没有试过。)
白名单机制
微信有一个白名单机制,(付费)加入白名单的域名能够享有这个特权:安卓端的内联视频不需用X5浏览器渲染就能自动内联,而且和ios端一模一样。
所以加入白名单的域名下的h5中的内联视频需要删去下面2条属性:
x5-video-player-type="h5" x5-video-player-fullscreen="true"
另外,XXX.qq.com即qq域名自动无条件加入白名单。
内联与全屏
虽然说是内联视频,但是在安卓X5浏览器中播放的时候会自动全屏!但是在ios浏览器中播放的时候不是全屏(会有顶条)。如何去除顶条?方法是在ios浏览器中启用全屏,即去掉playsinline属性使内联视频变成全屏视频(缺点是会有视频控制条)。
另外,由于在安卓X5浏览器中播放的时候会自动全屏(加入白名单的域名除外),所以一般H5中的内联视频都是全屏并不是“内联”的,然后在全屏视频上覆盖一层html元素即可。
多个内联视频
在安卓端X5浏览器中,不支持多个内联形式的video标签,一旦有一个内联形式的video标签,其它内联形式的video标签会自动变成非内联,甚至会把第一个video标签变成非内联。
内联与音频
在安卓端X5浏览器中,如果在播放内联视频的同时播放音频,会自动停止内联视频!!!
总结
视频类H5在安卓端坑太多,使用的时候需谨慎,目前想到如下解决方法:
- 付费进入白名单。
- 使用canvas。
- 使用图片和视差模拟简单视频。
H5内联视频总结的更多相关文章
- H5内联视频
概述 微信上很多H5页面都会有会动的像视屏的页面,这样的效果很棒.从技术上来说,这个其实就是视屏,不过没有控制播放的按钮罢了.它们还有一个专业的名字--内联视频.下面我把自己对内联视屏的学习记录下来, ...
- H5 内联 SVG
HTML5 内联 SVG HTML5 画布 HTML5 画布 vs SVG HTML5 支持内联 SVG. 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics ...
- 微信小程序内联h5页面,实现分享
在小程序内直联h5的页面(pages/webview/webview.js),该页面为<web-view>的容器,使用<web-view>组件 <web-view wx: ...
- 第48天学习打卡(HTML 行内元素和块元素 列表 表格 视频和音频 页面结构分析 iframe内联框架 表单语法 )
行内元素和块元素 块元素 无论内容多少,该元素独占一行 (p.h1-h6) 行内元素 内容撑开宽度,左右都是行内元素的可以排在一行 (a.strong.em...) 列表 什么是列表 ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- 学习笔记——关于HTML(含HTML5)的块级元素和行级(内联)元素总结
1.首先我们要知道什么是块级元素和行级(内联)元素? 块级(block)元素的特点: ①总是在新行上开始: ②高度,行高以及外边距和内边距都可控制: ③宽度缺省是它的容器的100%,除非设定一个宽度: ...
- 关于HTML(含HTML5)的块级元素和行级(内联)元素总结
1.首先我们要知道什么是块级元素和行级(内联)元素? 块级(block)元素的特点: ①总是在新行上开始: ②高度,行高以及外边距和内边距都可控制: ③宽度缺省是它的容器的100%,除非设定一个宽度: ...
- Css中的两个重要概念:块状元素和内联元素
一.display:block display:block就是将元素显示为块级元素,一般是其他元素的容器,可容纳内联元素和其他块状元素,块状元素排斥其他元素与其位于同一行,宽度(width)高度(he ...
- web兼容学习分析笔记--块级、内联、内联块级元素
一.块级.内联.内联块级元素 (1)块级元素:block **独占一行 **可设置width,height,margin,padding **内部可包含块级或内联元素 (3)内联(行内)元素:inli ...
随机推荐
- angular如何引入公共JS
一.现象 在项目的开发中,总会用到一些公司的脚本方法,同时,不希望在每个页面用到时又得需要引用,有点麻烦. 二.解决 1.在src文件夹下新建文件夹 utils: 2.在utils下新建文件 comm ...
- supermap数据库型数据源的数据索引问题
按如下方式查看帮助文档,根据不同的场景选用不同的索引
- java之数据库相关
这篇还是在回顾知识.主要是关于java连接Sqlserver2012数据库的一些方式记录,以便以后查询. 十一之内复习完这些知识就可以新学Hibernate啦(*^▽^*) 1.普通方式 注意,在连接 ...
- win 常用CMD命令备忘
一.进入某个硬盘 1.直接输入盘符加冒号,如想进入D盘,则输入命令[d:] . 命令:C:\Windows\system32>d: 结果:d:\> 二.进入某个文件夹 1.输入cd加文件夹 ...
- Finance财务软件(科目标签专题)
为了满足不同业务需求,对凭证中增加一些扩展内容,我们采用自定义科目标签的形式. 怎样自定义标签? 1. 增加科目掩码 这里的代码需要与模板表中tagLabel对应 这里的名称中对应掩码值,为16位整型 ...
- python3 第二十六章 - 内置函数之Number相关
数学函数 函数 返回值 ( 描述 ) 实例 abs(x) 返回数字的绝对值,如abs(-10) 返回 10 print(abs(-10)) =======输出:====== 10 ceil(x) 返回 ...
- mysql触发器trigger 实例详解
mysql触发器trigger 实例详解 (转自 https://www.cnblogs.com/phpper/p/7587031.html) MySQL好像从5.0.2版本就开始支持触发器的功能 ...
- dubbo入门学习 三 dubbo简介
http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html Dubbo简介 1. Dubbo:一个分布式.高性能.透明 ...
- maven跳过测试编译命令
mvn clean install/package/deploy -Dmaven.test.skip=true
- Nikto主动扫描神器!!!
Perl语言开发的开源web安全扫描器 Nikto只支持主动扫描:可扫描web服务器类型是不是最新版本(分析先版本与新版相比有哪些漏洞) 针对:1.软件版本.2.搜索存在安全隐患的文件.3.服务器配置 ...