Tags
firefoxwebappioschrome
Created
Nov 27, 2018 4:33 PM
navigator.getAutoplayPolicy() 直接查询是否能自动播放
https://github.com/WICG/autoplay/issues/1
https://bugzilla.mozilla.org/show_bug.cgi?id=1506289
// 非用户交互调用 play() 也符合自动播放策略
无声可以自动播放,否则需要用户交互才能播放
用户可能设置自动播放策略,所以必要时需要进行能否自动播放的检测
IOS New <video> Policies for iOS
- 不包含音频轨道或者静音允许自动播放
- 已经自动播放时动态变化为不满足自动播放策略时将暂停播放
- <video autoplay> (无声?)如果元素变得不可见,元素将会暂停
MacOS https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
- 基于每个元素授予自动播放限制
- 屏幕外无声视频自动暂停
- 无声音轨也是音轨,可能对自动播放造成影响
Chrome https://developers.google.com/web/updates/2018/11/web-audio-autoplay
- 无声可以自动播放,否则需要用户交互才能播放
- 已安装的 PWA 允许自动播放
- 桌面端也根据媒体参与指数(Media Engagement Index, MEI) 来决定这个视频是否自动播放
- 用户在媒体上停留时间超过了 7秒以上
- 音频必须是展示出来,并且没有静音
- 与 video 之间有过交互
- 媒体的尺寸不小于 200x140.
- WebAudio API 满足下面两个要求将恢复播放:
- 用户与页面进行了交互
- 调用了 SourceNode 的 start() 方法
// 处于后台运行状态时,异步调用 `play()` 会在 app 聚焦时才完成,bug link
Firefox 自动播放会 popup 提示