vue-video-player 解决微信自动全屏播放问题(横竖屏
对于vue-video-player,从上找到一段代码,直接放页面!可以了,视频展示出来了!开始下一个功能。。。。
这可能是大部分前端开发者一贯的思维模式,拿来一个插件,看着demo就做出来了,功能展示正常就OK了,一旦出了bug,就会面向百度编程或者面向Google编程!
其实,我也是这样的,哈哈哈哈.....
废话不多说,最近在做一个视频播放的功能,找到vue-video-player插件后,咔咔咔完事,拿着我的爱疯,完美演绎!其他人的国产某牌手机,展示的完全不一样,打开后自动全屏,而且还有个横竖屏控制。“这是我写的页面?????”,心中一万只神兽在奔腾。横竖屏切换后,视频下的内容在全屏模式下展示了出来一部分。
百度了半天,看源码,还是不知道咋回事。
后来终于找到了解决办法
之前:playsinline="playsinline"这里是true写死的,现在改为计算属性playsinline()
puted: { player () { return this.$refs.videoPlayer.player }, playsinline () { let ua = navigator.userAgent.toLocaleLowerCase() // x5内核 if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) { return false } else { // ios端 return true } } }
添加playsinline()这个计算属性,原因是在安卓和iOS端微信使用的内核不同,所需要的attribute也不同,尝试后,采用x5内核返回false,反之为true
配合jq工具,继续添加两个端所需的属性
@canplay="onPlayerCanplay($event)" onPlayerCanplay (player) { var ua = navigator.userAgent.toLocaleLowerCase() // x5内核 if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) { $('body').find('video').attr('x-webkit-airplay', true).attr('x5-playsinline', true).attr('webkit-playsinline', true).attr('playsinline', true) } else { // ios端 $('body').find('video').attr('webkit-playsinline', 'true').attr('playsinline', 'true') } },
至此,完美解决安卓端微信播放时,横竖屏的播放样式错乱和播放时视频内容未自适应。
为兼容ios横屏将视频旋转90度
methods: { // 视频宽高设置为手机宽高 videoFullScreen() { let width = document.documentElement.clientWidth; let height = document.documentElement.clientHeight; document.getElementById('video_content').style.height = width + 'px'; document.getElementById('video_content').style.width = height + 'px'; }, }
/视频旋转/ .video_box_rotate{ transform rotate(90deg) }
视频监听播放结束、进入全屏、退出全屏事件
mounted() {this.videoEnd()}, methods: { videoEnd(){ let video = document.getElementById('video_content'); video.addEventListener('ended', () => { alert('video end') }); }; // 视频播放结束 } // 全屏事件 x5videoenterfullscreen // 退出全屏 x5videoexitfullscreen
监听手机横竖屏
window.addEventListener('orientationchange', function() { // alert(window.orientation); // 这里可以根据orientation做相应的处理 if (window.orientation === -90) { self.iphoneScreenShow = true; } else { self.iphoneScreenShow = false; } }, false);
到此这篇关于vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)的文章就介绍到这了,更多相关vue-video-player 自动全屏内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程