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

  • 在微信浏览器内播放时,视频会自动全屏
  • 如果每个视频都有一张自定义的图片作为封面,在显示视频的同时,如果没有给这个视频设置高度,视频的容器在安卓手机上会被视频的封面撑大到变形
    …….
    现在整理一篇关于 video 的属性

preload:

这个不做解释,W3C 上写的很清楚。

muted:

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

controls:

视频自动播放设置,但是有经验的人都应该知道,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"和"<"两键。目前的同层播放器只在Android(包括微信)上生效,暂时不支持iOS。笔者想过为什么同层播放只对安卓开放,因为安卓不能像ISO一样局域播放,默认的全屏会使得一些界面操作被阻拦,如果是全屏H5还好,但是做直播的话,诸如弹幕那样的功能就无法实现了,所以这时候同层播放的概念就解决了这个问题。不过笔者在测试的过程中发现,不同版本的ISO和安卓效果略有不同。

x5-video-orientation:

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

x5-­video-­player-­fullscreen:

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

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

object-fit: fill

在android的微信里面,会出现上下有黑边,不能全屏的问题

x-webkit-airplay=”true”

暂时不知道到底是什么东东 -.-

video标签的属性详解相关推荐

  1. php中li标签,li标签有哪些属性?css中li标签的属性详解

    在html中,我们经常会遇到li标签,那么li标签有哪些属性?下面我们来了解一下css中li标签的属性. 一:标签有哪些属性 在html中,使用css中li标签来控制样式,很多网站上都是点为开头,也有 ...

  2. HTML 5 video 视频标签全属性详解(转)

    转自 http://www.cnblogs.com/kiter/ Video标签的使用 Video标签含有src.poster.preload.autoplay.loop.controls.width ...

  3. HTML 5 video 视频标签全属性详解

    现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE ...

  4. 表单input标签type属性详解

    目标:详解表单input标签type属性常用的属性值 一.input标签和它的type属性 PS:input 元素可以用来生成一个供用户输入数据的简单文本框. 在默认的情况下, 什么样的数据均可以输入 ...

  5. dw常用标签_Dreamweaver里标签及属性详解

    <> Dreamweaver 里标签及属性的详细解释 Dreamweaver 标签库可以帮助我们轻松的找到所需的标签 , 并根据列出的属性参 数使用它 , 常用的 HTML 标签和属性解释 ...

  6. script标签type属性详解

    1.(这是我们常用的)省略或 JavaScript MIME 类型:这表明脚本是 JavaScript. HTML5 规范敦促作者省略该属性,而不是提供多余的 MIME 类型.在早期的浏览器中,这标识 ...

  7. html5中preload是什么意思,html的video标签的preload属性详解

    --------------------------------------------------------- Ta 只分享的内容开始 ------------------------------ ...

  8. HTML embed标签使用方法和属性详解

    HTML embed标签使用方法和属性详解 一.基本语法 代码如下: embed src=url 说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,Ne ...

  9. 【input 标签的 type 属性详解】

    input 标签的 type 属性详解 1. input 输入标签的 type 属性 1.1 input 标签的 type类型 属性的常用属性值 ⑴ 单行文本框: type="text&qu ...

最新文章

  1. arcgis python工具-使用python制作ArcGIS插件(1)工具介绍
  2. linux目录表及功能n鸟哥,鸟哥linux私房菜_笔记_Linux的文件权限与目录配置
  3. grunt使用小记之uglify:最全的uglify使用DEMO
  4. Ubuntu学习日记--Lesson2:创建、重命名、删除文件及文件夹,强制清空回收站方法
  5. amlogic_android7.1的s905x平台长按按键5s清除数据和缓存的实现思路
  6. 自然语言5——初学者书籍
  7. C++11 chrono库
  8. UIAlertController中TextField的用法
  9. 这样能收录,原理是用的凤凰新闻采集工具
  10. META是什么意思?
  11. 源程序,目标程序,可执行程序
  12. 中康科技黄毅宁:AI+医疗,于我而言是圆梦
  13. 超级应用/_超级应用
  14. Win32 游戏开发:贪吃蛇 上篇
  15. JS实现打印遇到的各种问题处理,JavaScript拉取浏览器print()方法打印遇到的问题解决,html实现打印机打印
  16. python qt5 增加文本框_PyQt5 文本输入框自动补全 QLineEdit
  17. 语言有很多类型,你知道吗?【静态/动态编译语言、弱/强类型语言】
  18. Android Studio 飞机大战
  19. Things3 Mac版(mac任务管理软件)中文版
  20. u盘分区工具|U盘怎么调整分区大小?

热门文章

  1. 奇安信(2019笔试题)
  2. UiPath模拟浏览器登录qq邮箱并发送邮件方法与遇到的坑
  3. CPU平均负载过高检查(iowait负载高)
  4. 清华大学2001年机试-字符串排序-1066
  5. Jeanjack旗舰店 “Jeanjack官网   Jeanjack男装”
  6. 根据excel的链接下载到电脑上
  7. 高斯求和问题(C语言程序设计)
  8. 创宇区块链|Inverse Finance 安全事件分析
  9. 食物语服务器什么时候维护,食物语更新公告
  10. AngularJS中ngRouter和uiRouter的区别