vue video全屏播放
需求:
1、视频为长方形,页面初始化打开为横屏全屏播放视频。
2、微信不支持自动播放,故自动播放需求删除。
方法:
1、vue-video-player插件
因需求较简单,仅要求播放本地一个视频,故未选择使用插件。
2、video
<div id="video_box" style="z-index: 999;" :class="{video_box_rotate: isIos}">
<video
@click="videoPlay"
class="index_video"
poster="../assets/images/poster.jpg"
id="video_content"
style="object-fit:fill" /*加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小
webkit-playsinline='true'
playsinline="true"
x5-playsinline="true"
x-webkit-airplay="true"
x5-video-player-type="h5"
x5-video-player-fullscreen="true" /*全屏播放*/
x5-video-ignore-metadata="true"
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
注意:
x5-video-orientation="landscape" /*播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏*/
landscape属性ios不支持
为兼容ios横屏将视频旋转90度
mounted() {
if (是否为ios) {
this.videoFullScreen();
}
}
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(){
}; // 视频播放结束
}
// 全屏事件 x5videoenterfullscreen
// 退出全屏 x5videoexitfullscreen
监听手机横竖屏
window.addEventListener('orientationchange', function() {
// alert(window.orientation); // 这里可以根据orientation做相应的处理
if (window.orientation === -) {
self.iphoneScreenShow = true;
} else {
self.iphoneScreenShow = false;
}
}, false);
视频初始化黑屏
可以在视频上加个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 欢迎大家指点,谢谢
vue video全屏播放的更多相关文章
- 解决video标签在微信中强制全屏、微信全屏播放(Android和IOS)
在video标签中加上代码: x5-playsinline="true" webkit-playsinline="true" playsinline=" ...
- HTML5新标签video在iOS上默认全屏播放
今天做一个app时发现一个问题,应用html5中的video标签加载视频,在Android手机上默认播放大小,但是换成iPhone手机上出问题了,默认弹出全屏播放,查找了好多论坛,都没有谈论这个的.然 ...
- video自动全屏播放
video自动全屏播放 关于Screen.lockOrientation() https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockO ...
- html-----vedio标签(HTML5新标签VIDEO在IOS上默认全屏播放)
今天做一个app时发现一个问题,应用html5中的video标签加载视频,在Android手机上默认播放大小,但是换成iPhone手机上出问题了,默认弹出全屏播放,查找了好多论坛,都没有谈论这个的.然 ...
- audio与video控件/标签的隐藏,iso/Android下自动全屏播放,短暂黑屏问题
(一)audio音频标签 <audio src="xxx.mp3"></audio> (二)video视频标签 <video src="xx ...
- MUI ios下用video标签默认全屏播放
前几天用Hbuilder+MUI做了个应用,里边用到<video>标签,在Android下正常,但是在苹果手机老是默认全屏播放. 解决办法: 首先在video标签加上playsinline ...
- 解决微信video全屏的问题,不在本页面播放
在微信浏览器中使用video标签,点击播放会跳出本页面,自动进行全屏播放,原因是自动跳转到手机微信内置的浏览器中去播放去了!!! 在video中加上连个属性就好了,反正最近的一个项目,我是这样做的就好 ...
- video视频标签一些设置,包括封面、播放结束后的封面、视频占满屏幕的方式、视频播放暂停、展示控制栏、触发全屏播放事件
video视频标签一些设置,包括封面.播放结束后的封面.视频占满屏幕的方式.视频链接.视频播放暂停.展示控制栏.触发全屏播放事件 <video id="video" auto ...
- IOS(苹果手机)使用video播放HLS流,实现在内部播放及全屏播放(即非全屏和全屏播放)。
需求: 实现PC及移动端播放HLS流,并且可以自动播放,在页面内部播放及全屏播放功能. 初步:PC及安卓机使用hls.js实现hls流自动播放及全屏非全屏播放 首先使用了hls.js插件,可以实现在P ...
随机推荐
- webRTC脱坑笔记(三)— webRTC API之RTCPeerConnection
RTCPeerConnection API是每个浏览器之间点对点连接的核心,RTCPeerConnection是WebRTC组件,用于处理对等体之间流数据的稳定和有效通信. RTCPeerConnec ...
- GSL--GNU Scientific Library 小记
摘自http://qianjigui.iteye.com/blog/847612 GSL(GNU Scientific Library)是一个 C 写成的用于科学计算的库,下面是一些相关的包 Desi ...
- JavaScript之BOM+DOM
BOM 浏览器对象模型, 用于把浏览器相关的组件封装为对象进行操作. BOM是包含了DOM的. window对象 弹出框相关 确认: 取消: 与打开关闭window有关的方法 定时器相关 暂停选老婆 ...
- visual studio 中gitflow使用
vs中已集成了git,但是如果想使用gitflow,要去扩展包里面下载 装完后,在右侧面板的"团队资源管理"就会出现gitflow 进行git flow实始化 后就可以进行 各分支 ...
- JS的数据类型及分类
JS分两种数据类型: 基本数据类型: Number.String.Boolean.Null. Undefined.Symbol(ES6) 这些类型可以直接操作保存在变量中的实际值. 引用数据类型: O ...
- Hadoop编程调用HDFS(PYTHON)
1.运行环境 开发工具:PyCharm Python 版本:3.5 Hadoop环境: Cloudera QuickStart 2.GITHUB地址 https://github.com/nbfujx ...
- HDU 6090 Rikka with Graph —— 2017 Multi-University Training 5
Rikka with Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- docker-swarm笔记
1.部署环境: centos7 创建三节点的 swarm 集群 swarm-manager 是 manager node : 192.168.1.150 swarm-worker1 和 swarm-w ...
- R 数据分析
目录: windows命令行中执行R dataframe 常用函数.变量 1.windows命令行中执行R 前提:已经把R的命令目录加入了系统路径中. 在windows中,命令行执行R可以用以下两种方 ...
- I2C总线协议详解
I2C总线定义 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线产生于在80年代,最初为音 ...