今天在做一个分享页面的时候需要播放视屏用了video,然后各种坑开始了:

  <video src="http://xxx.mp4 " id="myVideo" poster=“XXX”  controls></video>

安卓微信 内:播放全屏并且定位在视屏上的一些东西也不见了?于是接入了同层

  <video src="http://xxx.mp4 " id="myVideo" poster=“XXX” controls x5-video-player-type="h5" x5-video-player-fullscreen="true" ></video>

  注:  x5-video-player-type、x5-video-player-fullscreen属性需要在播放前设置好,播放之后设置无效

  此时视屏上的一些东西看见了,但是$(window).width();$(window).height()设置后不能铺满整平,同层播放的时候呢出现上下黑边,

  折腾了一番用了screen.width ; screen.height

  此时进入同层的时候能够全屏播放了,但是呢页面刚进入未播放时候出现了滚动条,而我想要的就是占满手机屏幕就行了。反复测试了下在安卓内:

    $(window).height() : 获取的高度是内容区域不加导航区域,而 screen.height 是整个手机区域

  还有安卓进入同层上面有个返回按钮,点击后视屏停止播放难看,于是改变了下形式不要默认播放按钮,不要默认poster加封面;自己写了个播放按钮

    <video src="http://xxx.mp4 " id="myVideo" x5-video-player-type="h5" x5-video-player-fullscreen="true" ></video>

  通过监听处理:

    myVideo.addEventListener('play',function(){})

    myVideo.addEventListener('pause',function(){})

  此时坑已经差不多了,但是 ios 内坑继续了

    ios内联播放需要加上:<video src="http://xxx.mp4 " id="myVideo" webkit-playsinline="true" x-webkit-airplay="true"  playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="true" ></video>

  兼容各种全屏状态   

  var ua = navigator.userAgent.toLowerCase();
  if (/iphone|ipad|ipod/.test(ua)) {
    $("#test_video").css({ "width":$(window).width(),"height":$(window).height()})
  }else if (/android/.test(ua)) {
    if (ua.match(/MicroMessenger/i) == "micromessenger") {

      //微信  解决同层时候上下黑边

      test_video.style.width = screen.width + "px";
      test_video.style.height = screen.height + "px";
    }else{

      //QQ微博等
      $("#test_video").css({ "width":$(window).width(),"height":$(window).height()})
    }
  }else{
    $("#test_video").css({ "width":$(window).width(),"height":$(window).height()})
  }

  还有通过object-position 设置显示位置、视屏是否铺满容器

    myVideo.style["object-position"]= "0px 0px"  //顶部

    var offsetY = myVideo.clientHeight - (myVideo.clientWidth * myVideo.videoHeight / myVideo.videoWidth)

    myVideo.style["object-position"]= "0px " + offsetY + "px"  //底部

    myVideo.style["object-fit"]= "fill"  //视屏铺满容器

  

  通过上面,通过特定布局在同层内还是可以实现假象的内联播放的,上面视屏,下面区域加上滚动条来处理

video 在微信中,安卓全屏和ios上如何内联播放?H5同层播放器相关接入规范的更多相关文章

  1. 解决video标签在微信中强制全屏、微信全屏播放(Android和IOS)

    在video标签中加上代码: x5-playsinline="true" webkit-playsinline="true" playsinline=" ...

  2. Android学习之Android 5.0分享动画实现微信点击全屏效果

    Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...

  3. PlayCover for mac-Mac 上全屏运行 iOS 应用程序

    前言 如何在Mac电脑运行ios应用呢?PlayCover for Mac一款彻底解放苹果电脑的iOS软件安装工具,无需付费,操作简单,可以安装ipa文件,可以通过鼠标.键盘和控制器 在Mac上全屏运 ...

  4. 防止html5的video标签在iphone中自动全屏

    问题: 当在iphone中打开html5页面中的video视频时,会默认调取系统播放器,全屏播放视频资源. 解决方式: 1. 首先在html5页面的video标签中添加webkit-playsinli ...

  5. Android开发中的全屏背景显示方案

    引子 不管是Android还是iOS平台中,都可以看到一些应用在启动的时候会先出现一个启动画面(Splash Activity),如QQ.微信等.这个启动画面中往往会将ActionBar和Status ...

  6. ng2 中的全屏与退出全屏

    1.进入全屏 launchFullscreen(element) { if(element.requestFullscreen) { element.requestFullscreen(); } el ...

  7. 如何在Android中实现全屏,去掉标题栏效果

    在进行Android UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置.   1.在xml文件中进行配置   在项目的清单文件A ...

  8. Android中实现全屏、无标题栏的两种办法

    在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ...

  9. 在VC++6.0开发中实现全屏显示

    全屏显示是一些应用软件程序必不可少的功能.比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“View\Full Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态. ...

随机推荐

  1. 转自知乎-wifi破解

    上点python有意思的代码. 环境准备 python2.7 pywifi模块 字典 清除系统中的任何wifi连接记录 导入模块 这里用的模块就这三个 pywifi的_wifiutil_linux.p ...

  2. 利用linux shell自己主动顶贴

    在论坛上面发帖问个什么东西的话,一旦不顶.帖子就秒沉了,可是又实在不想每时每刻都去顶,怎么办?以下展示了怎样利用shell 的crontab实现自己主动顶贴. 闲话不多说了,以豆瓣为例-– 1: 用c ...

  3. 为什么MOBA、“吃鸡”游戏不推荐用tcp协议——实测数据

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯云游戏行业资深架构师 余国良 MOBA类和"吃鸡"游戏为什么对网络延迟要求高? 我们知道,不同类型的游戏因为玩法. ...

  4. 用node.js实现mvc相册资源管理器

    摘要:通过前两天的学习我大概学了了,用formidable模块文件上传,express框架,以及利用fs模块进行文件读取,今天我学习了如何用这些知识来制作相册,暂没有数据库,所以做的也是本地的资源管理 ...

  5. Javascript之模拟文字高亮

    在我们平时浏览网页的时候,我们常常会用到Ctrl+F(搜索)功能,被搜索到的文字就是高亮显示.那么,如何在Javascript中模拟文字高亮显示这一功能呢? 以下为笔者写的样例代码: <!DOC ...

  6. IP地址简介

    IP地址 IP地址,Internet Protocol Address,网络协议地址: IP地址与网络接口绑定,并不是指向一台主机,一个主机可能有多个IP地址,如果其连接多个网络,有多个网络接口: I ...

  7. 【java设计模式】【创建模式Creational Pattern】抽象工厂模式Abstract Factory Pattern

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW0AAABvCAIAAACo3AbKAAALvUlEQVR4nO1dUa7cOA7U/c+zwJxkf4

  8. C# TreeView 控件的综合使用方法

    1.概述 该篇文章开发使用的语言c#,环境visualstudio2010,sql数据库.主要内容包括: (1)treeView控件添加根节点.子节点的基本方法,节点的删除. (2)把treeView ...

  9. bzoj 1179: [Apio2009]Atm

    Description Input 第 一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路 的起点和终点的 ...

  10. bzoj 3670: [Noi2014]动物园

    Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习 ...