自动播放策略分为3条:
- 静音自动播放是可以的
- 非静音自动播放需要用户有交互操作
- 嵌套iframe页面内部的是否可以自动播放,取决于iframe标签上是否有allow="autoplay"属性,有的话iframe按照上述两条来决定自动播放策略,没有的话内部无法自动播放。当然上述情况发生在iframe中的src非同源的情况下。因为同源情况下,iframe中的autoplay是默认allow的。
第一条很好理解
第二条不是很好理解:
跟用户有交互了还叫自动播放吗?
分为两种情况:
- 本页面中切换播放列表
- 点击播放列表,跳转到新页面播放
(参考好看视频的逻辑 eg:好看视频)
这两种情况,都需要用户去点击,和用户交互。
如果此时video中写有autoplay就可以在点击后自动播放,
如果没有则点击后只是切换到新的视频界面,并不会自动播放。
当然你会认为这,本来不就是这样吗?这样看来autoplay有什么值得讲的。
此时如果你刷新页面,将页面重置到初试状态,此时用户是没有任何交互的
那么此时video是无法非静音播放的,如果video只有autoplay而没有muted(静音),是会处于待播放状态。
这就是video自动播放策略与之前的区别:现在更注重用户体验,上面的第二条可以提炼出一个信息就是,在同源中(服务器环境下),用户操作是自动播放的前提。
我试过,在本地文件路径访问的情况下,是永远不会非静音自动播放的。