我有一个非常简单的Ember应用程序。
在我的application.hbs中,我只有以下代码(没有其他路由、模板、组件等)
<video autoplay loop muted playsinline>
<source src="https://res.cloudinary.com/dthskrjhy/video/upload/v1545324364/ASR/Typenex_Dandelion_Break_-_Fade_To_Black.mp4">
</video>
{{outlet}}
问题在于我无法让这个视频在Chrome上自动播放。最初,这似乎是一个Chrome特有的问题,但即使按照这个流行问题的回答,顶部答案也不能解决我的问题。
更重要的是,如果我创建一个简单的HTML页面,这个视频会在Chrome和其他浏览器中自动播放。因此,我只能从Ember应用程序重新创建这个问题。
还要注意,如果我从不同的路由打开自动播放视频(即我切换到一个新页面然后回来),现在自动播放就可以正常工作。因此,这个问题只发生在应用程序首次加载时。我找不到任何可以替代的流行组件。
我想知道如何让这个视频在第一次打开Chrome时自动播放。
didInsertElement
期间调用.play()
时,您还会收到一个带有链接到页面的DOMException,该页面将被重定向到公告,说明他们已更改其政策。有趣的是,在JSBin中使用简单的setTimeout
调用.play()
却可以正常工作... - Lux