zoukankan      html  css  js  c++  java
  • 关于HTML5中Video标签播放问题

     

    PS:官网首页视频IOS与安卓都可播放代码:

    <video width="100%" height="auto" type="video/mp4" controls="controls" class="adVideo" id="adVideo"></video>

    1、视频文件问题 考虑代码没问题情况下,如IOS视频还是播放不了,可能是视频问题 ,视频压缩太狠或视频编码选不对都会导致播放只有声,没图像的问题;

    2、video 标签在微信浏览器的问题解决方法

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

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

    解决办法:

    给video标签加一些属性,调用h5原生video,我写了个例子,加了注释,如果有错误,烦指正,谢谢!

    <video class="video-source"
         width="100%"   height="240px"  /*如果有封面,请设置高度*/     controls  /*这个属性规定浏览器为该视频提供播放控件*/  
         style="object-fit:fill"  /*加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小*/
         webkit-playsinline="true"  /*这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放*/  
         x-webkit-airplay="true"  /*这个属性还不知道作用*/ 
         playsinline="true"  /*IOS微信浏览器支持小窗内播放*/ 
         x5-video-player-type="h5" /*启用H5播放器,是wechat安卓版特性*/
         x5-video-orientation="h5" /*播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏*/
         x5-video-player-fullscreen="true" /*全屏设置,设置为 true 是防止横屏*/
         preload="auto" /*这个属性规定页面加载完成后载入视频*/ 
    </video>

    如果你的video标签也加了上面的属性,那么,你的视频可以在IOS手机上的小窗口播放,同时,视频封面同视频的宽度与高度也保持一致了。

    经过各种尝试,在iOS下,可以给video添加webkit-playsinline属性,使视频在页面上原本位置播放,但这个属性在安卓上无效。

    代码参考:

     

    <video src="images/video1.mp4" id="video-obj1" class="video-obj" controls="controls" x-webkit-airplay="true" webkit-playsinline="true" playsinline></video>

    添加 x-webkit-airplay="true" webkit-playsinline="true" playsinline 三个属性

    注意:此方法在部分安卓手机微信端无法实现效果,因为是微信内核问题,并且微信会把播放的视频的层级设置为最高,所以会存在视频返回后视频遮住页面问题,

    解决方法:监听视频暂停事件 pause,暂停后将视频元素隐藏,写一个视频封面图,点击封面图进行视频显示和播放

    $("#video").addEventListener("pause",function(){
      $(".video1").hide();
    })

    -------------------------------------

    相关参考:https://www.cnblogs.com/baiyygynui/p/6323565.html

     

  • 相关阅读:
    Java 方法重载 (Overload)
    Java 向数组中添加一个元素
    Java 三目运算符
    代理池的维护
    代理设置
    验证码识别
    使用Selenium爬取淘宝商品
    Splash API 调用
    Android ListView中Item点击事件失效解决方案
    mapreduce框架详解
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/12719721.html
Copyright © 2011-2022 走看看