一、问题

video标签在安卓自带浏览器下会默认处于最高层级。且会自动fixed在页面上方,loop属性失效

通常如果需要video自动播放,我们会这样写:

<videostyle={{ width: '100%', height: '100%',objectFit:'fill' }}loopautoPlaymutedref={this.videoRef}webkit-playsinline="true"x-webkit-airplay="true"playsinline="true"x5-video-player-type="h5-page"x5-video-player-fullscreen="false"><source src={'video.mp4'} />
</video>

x5属性只针对腾讯系的浏览器,但是由于安卓自带浏览器不是x5内核,所以自然无效。且不支持zIndex的写法。

二、解决

将video转化 为canvas

2.1 安装

npm i jsmpeg
brew install ffmpeg

ffmpeg为视频流格式转换插件。 jsmpeg只支持mpg格式的视频。所以需要将对应的视频转换成mpg格式。命令行输入:

ffmpeg -i video.mp4 -f mpeg1video -vf "crop=iw-mod(iw\,2):ih-mod(ih\,2)" -b 0 video.mpg

即可在当前转换文件的目录下生成指定格式的视频。

2.2 引入

<canvas id="launchpad-h5" style={{height: '220px', width: '100%'}}/>
let launchpadH5 = document.getElementById('launchpad-h5')if(launchpadH5){let player = new jsmpeg('video.mpg', {canvas: document.getElementById('launchpad-h5'),video: true,loop: true,autoplay: true,});player.play();}

建议只在h5上使用这个方法并控制视频大小,因为比较耗费性能,视频如果过大画布绘图速度会很慢。

解决H5安卓自带浏览器video层级问题相关推荐

  1. 手机html图片模糊,css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题_html/css_WEB-ITnose...

    最近在负责一个微信H5 App项目,遇到一个郁闷的问题,手机浏览器查看网页时图标都是模糊的,有锯齿,电脑浏览器显示则是正常.大概知道是分辨率适配等类型的问题,后来网上查找了一些办法,大部分的解决方案都 ...

  2. 前端 h5实现自带浏览器支付功能

    前端需要做的 这里使用vue 中的 mixin 第一步获取订单号,调用后端的接口获取订单号 第二步:调用后端的接口,后端给返回一个url地址,然后打开这个地址(这个地址是调用微信支付的地址,打开即调用 ...

  3. android应用是非正式版本,华为手机自带浏览器,应用是非正式发布版本,当前设备不支持安装

    查了一下网上一些解决方案: 解决方法: 在gradle.properties 文件中添加如下指令: android.injected.testOnly=false 但是我配置了没有效果,我测试是用华为 ...

  4. H5的video 在安卓浏览器上层级问题

    项目场景: H5的video 在安卓浏览器上层级问题 问题描述 H5的video 在安卓浏览器上层级问题 原因分析: 目前猜测是浏览器劫持video并且生成原生视频播放器 无法用z-index控制 解 ...

  5. html5微信视频禁止自动全屏,关于HTML5 video标签在安卓版微信浏览器内被强行全屏播放的问题...

    最近在一个H5项目中,碰到了传说中的video标签在安卓版微信浏览器内被强行全屏播放问题.原计划在视频播放完毕后,页面出现video的ended事件时,应该显示分享和处于转化页的按钮,如图: 然而在这 ...

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

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

  7. 前端刚实习的一些建议(包含一些问题的解决:移动端滑动监听不灵敏,video层级过高)

    自己刚实习(前端岗位),也算完整的做了一个项目,我感觉在项目中更多的是熟悉公司的业务逻辑,每个公司都有自己的一套构建方案,也有自己的环境,比如测试环境,预发布环境等等. 写这个主要是想分享一下,我在公 ...

  8. 强制 html5 播放,关于HTML5 video标签在安卓版微信浏览器内被强制全屏播放的问题...

    最近在一个H5项目中,碰到了传说中的video标签在安卓版微信浏览器内被强制全屏播放问题.原计划在视频播放完毕后,页面发生video的ended事件时,应该显示分享和进入转化页的按钮,如图: 然而在很 ...

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

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

最新文章

  1. 怎么将vue模板转换为html,vue中自定义html文件的模板
  2. 电动汽车:新一轮三年十倍,“补贴”结束“高端”开启
  3. 总结ISO各层协议都有哪些
  4. uiuc工程学院计算机,UIUC计算机工程专业排名2020年
  5. Python字典(dict )的几种遍历方式
  6. ArcEngine 没有Esri.ArcGis.GeoAnalyst 命名空间
  7. 阮一峰 《ECMAScript 6 入门》:let 和 const 命令
  8. spark学习-37-Spark的SortShuffleManager
  9. nero刻录软件linux,下载:Linux平台刻录工具NeroLINUX 3.5.2.0版
  10. 【设计模式】05模板方法模式学习笔记
  11. favi.icon是什么?
  12. SNS:六度分隔理论
  13. namesilo续费
  14. Eggjs笔记:详解Mongoose的聚合管道以及populate实现关联查询
  15. 【自然语言处理】BERT GPT
  16. 大数据技术技能分析大赛——第一章 python数据分析概述
  17. 50个Java多线程面试题
  18. 离散数学第6版25页41题
  19. 【单片机仿真】(十七)控制转移类指令 — 调用及返回指令
  20. 服务器怎么显示我的电脑图标没了,我的电脑图标没了怎么办?在这里可以将它显示出来...

热门文章

  1. 计算机考试成绩80分是统计指标值,某同学计算机考试成绩80分,这是统计指标值。...
  2. 线性回归统计指标 SSE、MSE、RMSE、MAE、R-square
  3. 23、python对数据进行求和、方差、平均值等基本统计指标计算
  4. 孩子心脏发育不好,我要存孩子的心电数据
  5. Java 数组和List的使用
  6. php 数字上下选取,PHP中常见的数字掐头去尾操作方法
  7. nginx报错找不到指定路径
  8. Docker之MySQL主从连接提示:Communications link failure
  9. 计算机类(0809)求职经验
  10. 抱歉,我也不知道程序员35岁以后该怎么办!