移动端Web视频播放兼容处理

最近因为项目中用到了视频播放,所以使用了HTML5中的video标签,但是遇到了的各种兼容问题。背景:项目运行在支付宝内的网页,被第三方测试机构测出安卓和IOS中视觉不一样。不得不满足他们的要求。

1. video标签有一个层级问题,永远大于页面其他元素的层级。这样就会导致如果页面有其他内容需要展示在页面上方的时候,比如弹层之类的,这样就会出现以下的情况。
视频播放时点开其他的弹层(安卓)

在安卓机型中,如果在视频的播放中的情况点开了其他置于视频上方的元素时,此时视频会挡住点开的元素,不管弹层的层级多高。PS: IOS系统中没有此问题。解决思路大概可如下:

1. 暂停播放中的视频
2. 隐藏视频标签
3. 写一个和视频大小一样的标签占位在原视频标签处,里面可放一张视频的封面图
4. 显示其他弹出层内容
5. 关闭弹层时,隐藏占位的封面图,显示视频标签并播放
2. 视频在播放的情况下滚动页面,当视频消失在视线中的时候安卓和IOS的视觉效果不一样。IOS中会正常消失,而在安卓系统中会自动置顶在页面顶端。

安卓中视频自动置顶

解决思路:因为此问题是在视频播放的时候才会有这个问题,所有通过获取视频元素距离窗口的高度,当即将离开视线的时候暂停视频。最终还是失败:
在安卓中慢速的滑动时是没有问题的,视频暂停,不再置顶,正常的离开视线。但是当很快速的滑动时,还是控制不了它置顶在页面的顶部。下面的代码也考虑用了时间差来判断速度控制暂时,不过还是会先出现置顶,后才会暂停视频。
IOS中在自带的浏览器中是没有问题的,但是在支付宝的内置浏览器 中出现了问题,在手指滑动屏幕后,页面自动滚动的过程中,监听不了scroll事件,所以导致高度的计算值一直没有变化,当滚动停止后才更新高度。这样跟预期的想法也差了很远,所以这个方案也被kill。

  var touchHight = 0
  var dateTime = new Date()
  $('.warper').on('scroll',function(){
    var v =  $('#video-active').offset().top - $(window).scrollTop();
    var touchHightDiff = touchHight - v
    var timeDiff = new Date() - dateTime
        touchHight = v
        dateTime = new Date()

    if(timeDiff < 25 && touchHightDiff > 20){
      $('#video-active').trigger('pause')
      return
    }
    if(v<30 ){
      $('#video-active').trigger('pause')
    }else if(v>30){
      $('#video-active').trigger('play');
    }
  })
3. 考虑播放视频的时候全屏展示,退出就暂停视频播放。这样就不会有很大的视觉差别了。

这里引用第三方插件video.js,虽然播放的时候全屏显示,但是又有其他问题了。
安卓在退出全屏暂停播放后,再次点击播放的时候不会全屏了,正常播放了。这又和预期的效果不一样了,所以每次播放前视频都是隐藏,用图片代替,点击播放的时候再显示视频并全屏播放,暂停时再次隐藏视频,显示代替图片。这个过程中会有一些问题,安卓在退出全屏后并没有如期隐藏;IOS在暂停后再次播放的时候视频没有了画面。经过多次调试在全屏开始前都增加一个延时定时器会解决相关问题。如下,兼容代码:

// 播放视频 视频播放时开启全屏播放
function videoPlayer(){
    // 视频初始化
    var myPlayer = videoJs('#video',{
        width:'100%',
        controls:false,
        autoplay:false
    });
    // 视频模拟点击开始缓存视频
    myPlayer.play();
    setTimeout(function(){
        myPlayer.pause();
    },300)
    
     // 点击替代图片全屏播放视频
    $("#videoPoster .play").click(function() {
         // 隐藏替代图片 显示视频
        $('#videoPoster').hide();
        $('#video').show()
        // 全屏播放
        setTimeout(function(){
            myPlayer.requestFullscreen();
            myPlayer.play();
        },300)
    });  
    // 视频退出全屏会自动暂停触发暂停事件
    myPlayer.on("pause", function(){
        // 显示替代图片 隐藏视频
        $('#videoPoster').show()
        $('#video').hide()  
    });
}

就这样,还是可能会更换其他的方案。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,016评论 4 62
  • 为了生活,日夜奔波,京都几日,岁月蹉跎,冬日黄昏,万家灯火,东单离别,却是难舍,千里之遥,情谊难隔……
    海天一色y阅读 203评论 2 3
  • 现在越来越多的营销活动、营销方式都被商家玩遍了,用户对以往常用的活动也已经审美疲劳了。新颖的活动方式是用户们(尤其...
    流年0628阅读 485评论 0 0
  • 今天带读的重点章节是用于担当,充满自信。 自信,对于我个人而言,确实是有点缺乏的,但是我们不要去给孩子贴标签,说孩...
    幸福种子阅读 172评论 0 0
  • 【41】 有学生见到老师喊,师傅好! 孙老师回答,八戒好。 我不是。 哦,沙僧好。 也不是。 悟空好,快去给为师化...
    荒野石头阅读 199评论 2 3