video部分属性描述
webkit-playsinline="true" /*这个属性是ios 10中设置可以 让视频在小窗内播放,也就是不是全屏播放*/
playsinline="true" /*IOS浏览器支持小窗内播放*/
x5-playsinline="true" /*x5内核微信支持小窗内播放*/
x-webkit-airplay="allow"
(特别注意)---> x5-video-player-type="h5" /*启用H5播放器,是wechat安卓版特性*/
(特别注意)---> x5-video-player-type="h5-page" /*video层级最高时遮挡其他元素,试试这个*/
x5-video-player-fullscreen="true" /*全屏设置,设置为 true 是防止横屏*/
x5-video-orientation="portraint" //播放器支付的方向, landscape横屏,portraint竖屏,默认值为竖屏
1、安卓播放全屏问题
主要解决在微信浏览器(就是X5内核)中的表现问题。从以上的video属性描述
中列举出常用的一些属性设置video,按理应该可以达到需求效果,然而,too yang too simple。
错误的设置:
属性:x5-video-player-type="h5"
表现问题:在微信浏览器中还是全屏播放,video层级最高
正确的设置:
属性:x5-video-player-type="h5-page"
同时不能设置属性: x5-playsinline:true
两属性貌似冲突
2、iOS播放全屏问题
比安卓坑少多了,设置
属性:webkit-playsinline="true"
属性:playsinline="true"
解决不同层渲染的问题
3、video最终设置
<video preload="auto" autoplay="true" webkit-playsinline="" playsinline="" x-webkit-airplay="allow" x5-video-player-type="h5-page" x5-video-player-fullscreen="true" src=""></video>
4、video视频填充方式
关于视频填充方式可尝试使用css样式object-fit
来调整
object-fit: fill | contain | cover | none | scale-down
contain
被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。
cover
被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。
fill
被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。
none
被替换的内容将保持其原有的尺寸。
scale-down
内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。