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);
}
複製代碼