Video在网页和移动端无法自动播放问题??
<video> 标签介绍
<video> 标签定义视频,比如电影片段或其他视频流。支持三种视频格式:MP4、WebM、Ogg。是H5的新标签,使用如下:
//autoplay表示视频自动播放,controls表示显示视频控制器,loop表示循环播放<video width="320" height="240" autoplay="autoplay" controls loop><source src="movie.mp4" type="video/mp4"><source src="movie.ogg" type="video/ogg">您的浏览器不支持 video 标签。
</video>
浏览器支持
表格中的数字表示支持该属性的第一个浏览器版本号。
Element | 谷歌 | IE | 火狐 | safari | opera |
---|---|---|---|---|---|
<video> | 4.0 | 9.0 | 3.5 | 4.0 | 10.5 |
提示和注释
提示:可以在 <video> 和 </video> 标签之间放置文本内容,这样不支持 <video> 元素的浏览器就可以显示出该标签的信息。
可选属性
New:HTML5 中的新属性。
属性 | 值 | 描述 |
---|---|---|
autoplayNew | autoplay | 如果出现该属性,则视频在就绪后马上播放。 |
controlsNew | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
heightNew | pixels | 设置视频播放器的高度。 |
loopNew | loop | 如果出现该属性,则当媒介文件完成播放后再次开始播放。 |
mutedNew | muted | 如果出现该属性,视频的音频输出为静音。 |
posterNew | URL | 规定视频正在下载时显示的图像,直到用户点击播放按钮。 |
preloadNew |
auto metadata none |
如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。 |
srcNew | URL | 要播放的视频的 URL。 |
widthNew | pixels | 设置视频播放器的宽度。 |
<video>标签已经添加 autoplay="autoplay" 不能自动播放的问题?
以下原因可能导致不能自动播放:
- chrome6以及更高的版本不允许媒体自动播放;
- safari 阻止自动播放视频。opera 阻止autoplay;
- 出于用户体验,节省流量的考虑,移动端禁止自动播放;
- 视频文件太大,加载时间过长或错误;
实现自动播放策略:
- 静音自动播放总是被允许的。
- 用户已经产生交互(点击触摸滑动等..) ,这里的交互指的是只要用户在页面中用有了操作,而不是说一定要用户点击audio或者video去播放
- 使用iframe授权自动播放
- chrome提高MEI指数(?)
- 移动端用户将网站添加到home screen(没试过)
可以使用以下方式尝试解决:
1、视频元素添加muted 属性,如<video controls muted>,Internet Explorer 10, Firefox, Opera, Chrome, 和 Safari 6 支持 muted 属性。注意: Internet Explorer 9 及更早IE版本不支持<video> 的 muted 属性。
2、在用户交互(点击,触摸滑动等操作)后,使用.paly()方法播放。注意:用户没有产生交互前调用play()会抛出异常。
/**video.play()返回一个promise,未禁止则resolve,禁止则reject**/
let video = document.getElementById("video");
let audio = document.getElementById("audio");
let videoPlay = video.play();
let audioPlay = audio.play();videoPlay.then(()=>{console.log('可以自动播放');
}).catch((err)=>{console.log(err);console.log("不允许自动播放");//视频元素可以选择静音后再播放,提示用户打开声音video.muted=true;video.play();//也可以在用户交互后调用.play()// ...
});audioPlay.then(()=>{console.log('可以自动播放');
}).catch((err)=>{console.log(err);console.log("不允许自动播放");//音频元素只在用户交互后调用.play(),// ...
});
3、使用iframe允许自动播放。
<iframe src = "http://fjdx.sc.chinaz.com/Files/DownLoad/sound1/201808/10467.wav" allow = "autoplay"/>
4、可以
将ogg转为为mp4格式,尽量压缩文件大小到2M以下,尽量将视频文件放置在文件根目录下;
5、android 4.2 webview:添加了是否需要用户手势去触发音视频的播放开关,默认为true(需要用户手势触发)。
将webview的这个开关设置为不需要用户触发:mWebview.getSettings().setMediaPlaybackRequiresUserGesture(false);
IOS h5 webview :IOS APP给webview设置mediaPlaybackRequiresUserAction后可以允许自动播放.
参考网址:https://www.jianshu.com/p/c3c6944eed5a
Video在网页和移动端无法自动播放问题??相关推荐
- 手机 html自动播放视频格式,Video 在网页和移动端无法自动播放问题??
标签介绍 标签定义视频,比如电影片段或其他视频流.支持三种视频格式:MP4.WebM.Ogg.是 H5 的新标签,使用如下: //autoplay表示视频自动播放,controls表示显示视频控制器, ...
- 解决移动端音频自动播放问题
解决移动端音频自动播放问题 参考文章: (1)解决移动端音频自动播放问题 (2)https://www.cnblogs.com/lcf1314/p/5867010.html 备忘一下.
- HTML5中的audio在手机端和 微信端的自动播放
再做H5页面的时候,发现audio在手机端和微信端添加了autoplay以后还是不可以自动播放,这是因为手机端为了节约流浪所设置的 通常解决方法是给一个交互事件,一定要是交互事件 标签:<aud ...
- android ios 实时视频播放,vue 移动端视频自动播放兼容ios,安卓
安卓初始化自动播放 首先创建一个jsmpeg.js文件,代码源文件放在百度网盘了,请自行下载 百度网盘下载地址 链接: https://pan.baidu.com/s/1bDvyrEAulMy8aYe ...
- 网页上线后音频不能自动播放
一.问题描述 开发环境谷歌浏览器本地测试通过,网站上线后的音乐不播放,而是自动下载? 开发环境safari浏览器中,音频不播放. 二.问题分析 用audio或者embed标签都有问题,为了节省用户的流 ...
- 移动端 背景音乐 自动播放
背景音乐 自动播放 手机端 (Android.ios) 亲测 有效 **html标签** ----------<audio style="display:none; height: 0 ...
- 网页设置的音频不能自动播放
前言:有些设备禁止了autoplay 属性 html: <audio src="https://static.frdic.com/web/music/Always.mp3" ...
- html ios音乐自动播放muted,video下autoplay属性无效的解决方法(添加muted属性)
背景:video下载入ogg格式视频,并设置自动播放属性autoplay,但是使用Chrome预览时,视屏画面已加载出来,但是无法自动播放,F5刷新后可以自动播放.使用火狐浏览器可以自动播放.最初代码 ...
- 网页中视频内容自动播放
目前主流的浏览器中已经禁止带声音的媒体自动播放.具体内容在这里chrome自动播放策略(可能国内网络访问不了).此处重点是带声音的媒体自动播放. 里面也说明了集中播放的方式 静音播放.只要将video ...
最新文章
- 【蓝桥杯】【入门题】【算法提高VIP】1481:剪刀石头布
- 漫画算法:5分钟搞明白红黑树到底是什么?
- poj 3321 Apple Trie
- 用Python和OpenCV提取颜色直方图特征
- webParts与Web部件
- Yii2系列教程三:Database And Gii
- es 时间字段聚合_ES之五:ElasticSearch聚合
- 【codevs2912】反素数,好好学习天天向上
- JVM学习-StringTable字符串常量池
- [Python] L1-001. Hello World-PAT团体程序设计天梯赛GPLT
- Java案例2-1 商品入库
- 【问】SQL 2008安装一直提示重启计算机失败
- 查询淘宝京东商品历史价格的方法
- 广州成人大学哪个学校最好
- 设置非阻塞socket收发数据
- IO、BIO、NIO、AIO
- 12.嵌入式控制器EC实战 SMBus概述
- 【数据中台】数据质量原因分析
- 迷你世界进云服务器需要密码,迷你世界云服务器
- c语言线段树建树程序,C++算法 线段树
热门文章
- python请简述构造函数和析构函数的作用_python – 构造函数和析构函数如何工作?...
- php怎么使得字体滚动,滚动文字+字体特效代码(全集)
- [转载] Java关键字(Java 8版本)
- Java RandomAccessFile seek()方法与示例
- php榛子云短信验证,java + maven +榛子云短信 实现发送短信验证码功能
- ubutun 更换网络源_Ubuntu 更换源
- Java SimpleTimeZone inDaylightTime()方法及示例
- 保姆级教程,终于搞懂脏读、幻读和不可重复读了!(经典回顾)
- 单线程的Redis为什么却能支撑高并发?
- SQLite CodeFirst、Migration 的趟坑过程 [附源码]