HTML5 音频标签不为 chrome 和 safari 中第一个未聚焦的标签播放声音?
HTML5 audio tag not playing sound for the very first of unfocused tab in chrome and safari?
无论焦点如何,只要浏览器中的选项卡可用,我都想在我的应用程序中播放声音。我正在使用 HTML 5 音频标签来播放声音。但是 chrome 和 safari 会延迟播放音频,直到用户导航或聚焦到选项卡。播放声音的整个音频请求在选项卡焦点时播放。当您一次听到很多声音播放时,它会变得太吵。是否可以在没有浏览器延迟特性的情况下从未聚焦的选项卡播放声音?建议我任何可用于处理这种情况的替代解决方案。提前致谢。
这是自 Chrome 46 以来的预期行为。为了优化浏览器性能并节省电量,Google 已禁用背景选项卡上的自动播放。但是从 Chrome 47 开始,人们可以通过 启用 Chrome 标志
来覆盖它
chrome://flags/#disable-gesture-requirement-for-media-playback
更新:Chrome 标志不再可用,因为 Chrome 60(谢谢@gordie)
没有允许在 'background' 选项卡中播放声音的解决方法。解决方案是在页面聚焦之前不播放任何声音。为此,您可以使用 window.onfocus
事件处理程序,或者最好使用可见性 API (more info).
无论焦点如何,只要浏览器中的选项卡可用,我都想在我的应用程序中播放声音。我正在使用 HTML 5 音频标签来播放声音。但是 chrome 和 safari 会延迟播放音频,直到用户导航或聚焦到选项卡。播放声音的整个音频请求在选项卡焦点时播放。当您一次听到很多声音播放时,它会变得太吵。是否可以在没有浏览器延迟特性的情况下从未聚焦的选项卡播放声音?建议我任何可用于处理这种情况的替代解决方案。提前致谢。
这是自 Chrome 46 以来的预期行为。为了优化浏览器性能并节省电量,Google 已禁用背景选项卡上的自动播放。但是从 Chrome 47 开始,人们可以通过 启用 Chrome 标志
来覆盖它
chrome://flags/#disable-gesture-requirement-for-media-playback
更新:Chrome 标志不再可用,因为 Chrome 60(谢谢@gordie)
没有允许在 'background' 选项卡中播放声音的解决方法。解决方案是在页面聚焦之前不播放任何声音。为此,您可以使用 window.onfocus
事件处理程序,或者最好使用可见性 API (more info).