视频播放--自动播放实现
关于自动播放
autoPlay 布尔属性;指定后,视频会马上自动开始播放,不会停下来等着数据载入结束。
检测能否自动播放?
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 }); }
为什么 IOS 下微信和钉钉可以自动播放带声音的视频?
确实发现在微信经常能看到自动播放的 H5 ,但是作者自己写的设置了 autoplay 、 playsInline 的视频播放样例,在微信上依旧无法自动播放,而在钉钉上却可以自动播放
系统-浏览器带声音不带声音 IOS 钉钉支持支持 IOS Safari 禁止自动播放 IOS 微信禁止禁止
通过查询资料, IOS WebAPP 开发都是基于 IOS 提供的浏览器内核进行开发的,所以在 WebAPP 的 webview 中可以修改自动播放的表现,钉钉明显是支持自动播放,微信则是禁止自动播放,但是提供了内置事件来支持自动播放:
微信下通过 WeixinJSBridgeReady 事件进行自动播放:
document.addEventListener( 'WeixinJSBridgeReady', function() { video.play(); }, false );
微信 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); }