autoPlay 布尔属性;指定后,视频会立刻自动开始播放,不会停下来等着数据载入结束。javascript
安卓的 chrome 53 后放宽了自动播放策略,策略不一样于IOS的Safari,须要同时对 video 设置 autoplay
和 muted
(是否禁音),才容许自动播放; 安卓的 FireFox 和 UC 浏览器
支持任何状况下的自动播放; 安卓的其余浏览器暂时不清楚状况;java
Safari 10
后带音频的视频和音频默认禁止自动播放,更多信息能够参考这篇文章;git
禁音的视频依旧能够播放,带声音的视频会根据媒体参与指数来决定可否自动播放,那什么是媒体参与指数?官方给了解释和相关的维度:github
MEI 是一个评估用户对于当前站点的媒体参与程度的指数,它取决于下面几个维度:web
var promise = document.querySelector('video').play();
if (promise !== undefined) {
promise.catch(error => {
// Auto-play was prevented
// Show a UI element to let the user manually start playback
}).then(() => {
// Auto-play started
});
}
复制代码
确实发如今微信常常能看到自动播放的H5,可是做者本身写的设置了 autoplay、playsInline 的视频播放样例,在微信上依旧没法自动播放,而在钉钉上却能够自动播放chrome
系统-浏览器带声音不带声音IOS 钉钉支持支持IOS Safari禁止自动播放IOS 微信禁止禁止macos
经过查询资料,IOS WebAPP 开发都是基于 IOS 提供的浏览器内核进行开发的,因此在 WebAPP 的 webview 中能够修改自动播放的表现,钉钉明显是支持自动播放,微信则是禁止自动播放,可是提供了内置事件来支持自动播放:promise
微信下经过 WeixinJSBridgeReady 事件进行自动播放:浏览器
document.addEventListener(
'WeixinJSBridgeReady',
function() {
video.play();
},
false
);
复制代码
原文地址:github.com/ProtoTeam/b…微信
微信H5自动播放音频
yinyue('Fireworks')
function yinyue(d) {
var b = document.getElementById(d);
var c = function c() {
b.play();
document.removeEventListener("touchstart", c, false);
};
b.play();
document.addEventListener("WeixinJSBridgeReady", function () {
c();
}, false);
document.addEventListener("YixinJSBridgeReady", function () {
c();
}, false);
document.addEventListener("touchstart", c, false);
}
复制代码