提示用户声音许可

Prompt user for sound permission

这还是一回事吗?

好的,我有一个简短的介绍,介绍显示徽标并根据动画播放声音,不可跳过且不超过 4 秒

问题是,如果用户不授予权限,音频将自动处理,这将阻止实际播放声音或 延迟它 如果用户不'与它互动或它迟到在以后的访问中

这似乎发生在 Chrome

如何提示用户声音权限需要由他来处理,如果他想要就请求授予权限?

或者即使声音处于 "auto" 状态也可以继续播放声音,这意味着用户尚未与之交互?

或者我怎样才能在后台静默播放声音,并在用户与之交互时提高音量,使声音听起来恰到好处而不延迟?

或者我必须采取的最好的方法是什么?

我已经尝试了很多似乎对****没有影响的东西,比如使用 Howler 音频库(顺便说一下,这很神奇)搜索不存在的答案和许多其他东西都是徒劳的

任何卡在此处的人请检查:

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

我能够检查 AudioContext State 然后如果 suspended,设置一个 interval 每毫秒计数,如果用户,同时声音 "that must be playing" 与页面交互,此声音将在那个可爱的位置恢复,以保持所需和急需的时间

然后一个按钮建议用户继续并感到敏感

使用 howler 您可以使用

轻松检查 AudioContext State
Howler.ctx.state