微信浏览器中video播放视频踩坑总结

43次阅读

共计 1090 个字符,预计需要花费 3 分钟才能阅读完成。

video 属性介绍

iOS 的属性

playsinline

  • On iPhone, video playsinline elements will now be allowed to play inline, and will not automatically enter fullscreen mode when playback begins.
  • video elements without playsinline attributes will continue to require fullscreen mode for playback on iPhone.
  • When exiting fullscreen with a pinch gesture, video elements without playsinline will continue to play inline.

来源 -webkit 官网 -New video policiesfor iOS

iOS 设置了这个属性就不会自动全屏了,但是 Android 微信和 QQ 有腾讯的限制,仍旧会自动全屏。

腾讯 X5 属性

x5-video-player-type

启用H5 同层播放器

H5 同层播放器:DOM 可以浮在 video 上面

非 H5 同层播放器:video元素在最上层
(微信里会有腾讯的广告)

x5-video-player-fullscreen

全屏方式

视频播放时将会进入到全屏模式
如果不申明此属性,页面得到视口区域为原始视口大小(视频未播放前),比如在微信里,会有一个常驻的标题栏,如果不声明此属性,这个标题栏高度不会给页面,播放时会平均分为两块(上下黑块)

来源 - 腾讯浏览服务 -H5 同层播放器接入规范

相关 CSS

object-fit: 控制视频填充方式

object-position: 控制视频显示位置

问题

全面屏适配

x5-video-player-fullscreen=”true”

视频会铺满屏幕,但是 H5 同层播放器的顶部栏位置在刘海下面。因此刘海位置的视频不会被顶部栏遮盖。

x5-video-player-fullscreen=”false”

视频不会铺满屏幕,大多数机型和 H5 同层播放器大小一致,刘海处黑色。部分机型,如小米 8,则有问题。

实际效果

是否启用同层播放器都会自动进入全屏,区别是全屏使用的播放器不同。

案例:

轻视频:示例

没有启用 H5 同层播放器,但播放不会自动进入全屏。网上有说法,视频格式是立体声的,不会自动进入全屏。轻视频的视频格式确实是立体声的,但使用轻视频的视频试验,仍旧会自动进入全屏。
(此处有没有大佬解答!!)

快手:示例

快手复制链接到微信,提示用浏览器打开。直接从快手 APP 分享到微信,才能在微信打开。

启用 H5 同层浏览器,自动进入全屏。

正文完
 0