需求:伪直播 – 某一时刻播放视频,从开始至视频结束之前进入的用户可以观看播放中的视频(需要计算用户进入时间调整播放进度)
主要播放环境:微信浏览器
坑一:个别机型不支持用户进入页面直接播放视频,需手动触发(浏览器规则),可以静音播放(不符合需求)
解:如果视频还未到达开始播放时间,可以弹框提示用户未开始,如果已经到达播放时间,可以弹窗提醒用户,【XX 直播已开始,立即进入】,待用户点击确认时触发播放视频。
坑二:不同机型的播放控件样式不同
解:采用组件【vue-video-player】(之后在写~)
坑三:个别机型全屏状态下会自动出现进度条、暂停按钮等,在播出结束后还有很大可能出现不同的广告视频
解:无解,出现这个问题的原因是腾讯在检测到你的 html 文件中如果存在 video 标签,他们会再次创建一个 video 标签,并浮于页面顶层,尽管在代码中你可能 fixed 一个顶部浮层,z-index 无穷大,依然无法覆盖住 video,因为你所看到的这个 video 不是当前 HTML 中的,是腾讯创建的,且腾讯官方文档有写???? 腾讯 -x5 内核视频问答,建议打算开发 web-video 且主要宿主环境是微信的都看一下这篇文档,不然就爬不出坑了!
坑四:在使用了 video 组件之后,用户手动触发播放,个别机型的 video 突然弹出居中页面,页面底部为黑色(如公众号文件中的视频点击之后会浮上来)
解:无解,原因如坑三
尽管踩了很多坑,但是微信这边的做法也并不无道理,大部分的需求都是正常的视频播放,如果给到相对统一的样式、形式会更有利于开发者~
最终的解决方案是使用小程序做了一个(在一个相对独立的小程序添加了这个页面,直接给个小程序码的入口),虽然完成了,最终还是选择了第三方平台????