vue video全屏播放

需求:

1、视频为长方形,页面初始化打开为横屏全屏播放视频。

2、微信不支持自动播放,故自动播放需求删除。

方法:

1、vue-video-player插件

因需求较简单,仅要求播放本地一个视频,故未选择使用插件。

2、video

1<div id="video_box" style="z-index: 999;" :class="{video_box_rotate: isIos}"> 2 <video 3 @click="videoPlay" 4 class="index_video" 5 poster="../assets/images/poster.jpg" 6 id="video_content" 7 8            style="object-fit:fill" /*加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小 9 10 webkit-playsinline='true' 11 playsinline="true" 12 x5-playsinline="true" 13 x-webkit-airplay="true" 14 x5-video-player-type="h5" 15 x5-video-player-fullscreen="true" /*全屏播放*/ 16 x5-video-ignore-metadata="true" 17 x5-video-orientation="landscape" /*播放器的方向,landscape横屏,portraint竖屏,默认值为竖屏*/            preload="preload"> <source src="../../static/video.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"' > </video> </div>

具体属性解释可参考 https://blog.csdn.net/qq\_16494241/article/details/62046891

同层H5播放器官网 https://x5.tencent.com/tbs/guide/video.html

注意:

1x5-video-orientation="landscape" /*播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏*/ 2 3landscape属性ios不支持为兼容ios横屏将视频旋转90度 4 5mounted() { 6 if (是否为ios) { 7 this.videoFullScreen(); 8 } 9 } 10 11methods: {    // 视频宽高设置为手机宽高 12 videoFullScreen() { 13 let width = document.documentElement.clientWidth; 14 let height = document.documentElement.clientHeight; 15 document.getElementById('video_content').style.height = width + 'px'; 16 document.getElementById('video_content').style.width = height + 'px'; 17 }, 18 } 19 20/*视频旋转*/.video_box_rotate{   21 transform rotate(90deg) 22}

视频监听播放结束、进入全屏、退出全屏事件

1mounted() {this.videoEnd()}, 2methods: { 3 videoEnd(){

      let video = document.getElementById('video_content');

      video.addEventListener('ended', () => {

        alert('video end')

      });

1  }; // 视频播放结束 2}// 全屏事件 x5videoenterfullscreen// 退出全屏 x5videoexitfullscreen

监听手机横竖屏

1window.addEventListener('orientationchange', function() { 2 // alert(window.orientation); // 这里可以根据orientation做相应的处理 3 if (window.orientation === -90) { 4 self.iphoneScreenShow = true; 5 } else { 6 self.iphoneScreenShow = false; 7 } 8 }, false); 9 10视频初始化黑屏可以在视频上加个div浮层(可以一个假的视频第一帧),然后用timeupdate方法监听,视屏播放及有画面的时候再移除浮层。https://segmentfault.com/a/1190000009395289视频进入全屏,退出全屏监听https://segmentfault.com/a/1190000013232870监听视频播放完成https://blog.csdn.net/mondy592/article/details/81219167参考资料 https://blog.csdn.net/xcy1193068639/article/details/80242111#commentsedit安卓去掉控制按钮 参考http://www.xyhtml5.com/3252.html欢迎大家指点,谢谢
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )