单个视频播放控制&默认横屏播放
一、视频列表中控制只允许一个视频播放
// 获取DOM中所有的video标签
var videoTags = document.querySelectorAll('video');
// 控制播放的视频暂停
var pauseAll = function () {
// 改变this指向
var self = this;
[].forEach.call(videoTags, function (i) {
i !== self && i.pause();
});
}
// 改变DOM数组中的数组元素,call() 改变this指向
[].forEach.call(videoTags, function (i) {
i.addEventListener('play', pauseAll.bind(i));
});
注:call():调用一个对象的一个方法,用另一个对象替换当前对象,例如:arrayA.call(A,args1,args2),即A对象调用arrayA对象的方法。
二、视频列表播放时滑动页面抖动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<meta content="black" name="apple-mobile-web-app-status-bar-style" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="telephone=no" name="format-detection" />
<title>GST</title>
<!-- CSS样式 -->
<style>
* {
margin: 0;
padding: 0;
/* 禁止模板复制 */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
html,
body {
font-size: 16px;
background: #fff;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
/* 主要style代码: */
#app {
width: 100vw;
min-height: 100vh;
height: auto;
overflow: hidden;
overflow-y: scroll;
/* 防止iOS卡顿 */
-webkit-overflow-scrolling: touch;
}
ul.box {
width: 100%;
display: -webkit-flex;
display: flex;
flex-direction: column;
}
ul.box li {
display: block;
margin-top: .12rem;
}
ul.box li>p {
box-sizing: border-box;
padding: 0 .1rem;
line-height: .4rem;
font-size: .3rem;
}
ul.box li>video {
margin-top: .1rem;
width: 100%;
height: auto;
object-fit: fill;
overflow: hidden;
}
</style>
</head>
<body>
<div id="app">
<ul class="box" id="videoBox">
<li>
<p>1、挪威理想国</p>
<video controls controlslist="nodownload" disablePictureInPicture playsinline="" x5-playsinline=""
playsinline="" webkit-playsinline=""
poster="https://cs.xinpianchang.com/uploadfile/article/2019/11/05/5dc0e9357cad8.jpeg@960w_540h_1e_1c.jpg"
src="https://qiniu-xpc10.xpccdn.com/5c54f52f221d1.mp4"></video>
</li>
<li>
<p>2、我是阿迪达斯-灰太狼!</p>
<video controls controlslist="nodownload" disablePictureInPicture playsinline="" x5-playsinline=""
playsinline="" webkit-playsinline=""
poster="https://cs.xinpianchang.com/uploadfile/article/2019/11/05/5dc051a64adbc.jpeg@960w_540h_1e_1c.jpg"
src="http://oldvod2.v.news.cn/1F/FE/1f74d72eedda3dc922b3487f49619c4730b4fbfe.mp4"></video>
</li>
</ul>
</div>
</body>
</html>
注:#app 默认最小高度:min-height:100vh,高度:height:auto,溢出时隐藏:overflow: hidden,y轴时滚动:overflow-y: scroll。
三、video标签相关属性简介
<video
controls
controlslist="nodownload"
disablePictureInPicture
x5-video-player-type='h5'
x5-video-player-fullscreen='true'
playsinline
webkit-playsinline
x-webkit-airplay="allow"
poster=""
src=""
></video>
注:属性简介
- controls:向用户显示控件,比如播放按钮;
- autoplay:视频在就绪后马上播放;
- controlslist="nodownload" :隐藏video标签下载按钮;
- disablePictureInPicture:隐藏video标签画中画;
- x5-video-player-type='h5':启用X5内核的H5播放器;
- x5-video-player-fullscreen='true': 全屏设置;
- x5-video-player-orientation="portraint":声明播放器支持的方向,横屏:landscape,竖屏:portraint,默认竖屏播放,无论是直播还是全屏H5一般都是竖屏播放,但是该属性需要x5-video-player-type开启H5模式;
- playsinline:内联播放;
- webkit-playsinline: 内联播放;
- x-webkit-airplay="true / allow":支持Airplay的设备;
- poster="":规定视频下载时现实的图像,或者在用户点击播放按钮前显示的图像;
- src="":要播放视频的URL;
- loop:当前媒介文件完成播放之后再次开始播放(循环播放);
- preload:视频在页面加载时进行加载,并预备播放;
- width:设置视频播放器的宽度;
- height:设置视频播发器的高度;
- muted:规定视频的音频输出应该被静音;
- style="object-fit:fill;" css3样式设置填充整个屏幕video铺满整个屏幕,不按照视频的原始比例
通过属性的设置和样式的控制让视频全屏显示;
单个视频播放控制&默认横屏播放的更多相关文章
- [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件
原文:http://www.crifan.com/csharp_call_explorer_to_open_destinate_folder_and_select_specific_file/ C#中 ...
- 零基础读懂视频播放器控制原理——ffplay播放器源代码分析
版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...
- ASP.NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库
目录 说明 一.定义角色.API.用户 二.添加自定义事件 三.注入授权服务和中间件 三.如何设置API的授权 四.添加登录颁发 Token 五.部分说明 六.验证 说明 ASP.NET Core 3 ...
- 【HarmonyOS】【xml】使用xml绘制视频播放控制栏
本文记录HarmonyOS使用xml绘制视频播放控制栏 效果图如下 代码如下 点击查看代码 <?xml version="1.0" encoding="utf-8& ...
- unity3d笔记:控制特效的播放速度
一般在游戏中,主角或者怪物会受到减速效果,或者攻击速度减慢等类似的状态.本身动作减速的同时,衔接在角色上的特效也需要改变相应的播放速度.一般特效有三个游戏组件: 关键点就是改变Ani ...
- JS控制flash的播放
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- JS实现控制HTML5背景音乐播放暂停
首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover.qiniudn.com/jquery.js"></script ...
- 微信小程序 Video默认横屏
wxml文件 <video id='myvideo' src='你的视频文件路径'> </video> js文件 onLoad: function (options) { va ...
- iOS WebView中视频横屏播放返回导航栏在状态栏下面
iOS9以上系统横屏播放UIWebView中的视频返回后会出现以下问题:1.如图,UIWebView中包含一个视频: 1 2.播放web内容中的视频,并横屏观看: 2 3.直接在横屏状态下返回 ...
随机推荐
- php laravel请求处理管道(装饰者模式)
laravel的中间件使用了装饰者模式.比如,验证维护模式,cookie加密,开启会话等等.这些处理有些在响应前,有些在响应之后,使用装饰者模式动态减少或增加功能,使得框架可扩展性大大增强. 接下来简 ...
- 依赖注入组件 Autofac 的小记
1. 批量给 Service 层自动注入.(支持 ASP.NET Core) builder.RegisterAssemblyTypes(typeof(IProductService).Assemb ...
- 关于 ASP.NET Core 中的 RazorPages
Contact.cshtml @page @model ContactModel @{ ViewData["Title"] = "Contact"; } < ...
- Linux 内存释放
简介 linux 内存释放通过如下命令,将cache与buff根据环境进行释放操作,避免重启释放内存. 操作 1.将内存中buff数据保存磁盘 sync 2.清理cache与buff缓存 echo 3 ...
- idea创建maven的web项目
前言 今天搭xfire的时候,我想对xfire进行一下测试,就想弄个web工程试试,发现网上写的很多没有用的,就自己写了一下.十分精简.也介绍了如何解决maven骨架建立项目非常慢的问题. 介绍 1. ...
- \" 转义字符, \a系统警报,逐字字符串(verbatim string)
string str="The key factors are \"focus\" and \"perseverance\""; strin ...
- 如何访问到静态的文件,如jpg,js,css.
如果你的DispatcherServlet拦截"*.do"这样的有后缀的URL,就不存在访问不到静态资源的问题. 如果你的DispatcherServlet拦截"/&qu ...
- JQuery Easy UI 1.7官网最新版附1.7API
最新的Easy UI 1.7包括1.7的API已上传至百度云盘,有需要的,请自行下载!!! 使用示例: 注:红色加粗的必须引入!!! <!DOCTYPE html> <html> ...
- crm-4权限
1.rbac-优化login函数 因为login是业务逻辑 ,而rbac是个组件 ,将rbac在login的代码分离 ###初始化权限函数分离出去 rbac/service/permission fr ...
- /etc/profile和~/.bash_profile等文件的区别和联系
对比说明:/etc/profile:为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效.当被修改时,必须重启才会生效.英文描述:”System wi ...