-1

从 Chrome 71 WebAudioContext 开始,AudioContext 似乎在页面上暂停,直到满足一些要求。

其中之一是用户必须与页面交互,以便释放 AudioContext 以按预期工作。

我的公司维护着一个包含各种类型游戏的网站,由于其中许多可能来自不同的游戏开发工具,我们使用 iFrame 来加载它们。

我的问题是我找不到从 iFrame 启用/释放暂停音频的方法,这需要用户与 iFrame 进行交互,而不仅仅是页面本身。

我们的游戏根本无法播放音频,直到播放实际在 iFrame 内单击,这太糟糕了,特别是对于菜单中有音乐/声音的游戏。

在我自己的网页中,我找不到任何方式来签署这些 iFrame 可以很好地执行他们的音频。

4

2 回答 2

1

Soundcloud Widget API 有这个问题。我的解决方案是将属性 allow="autoplay" 添加到 iframe!

于 2019-02-19T10:40:34.437 回答
0

对于任何有这个问题的人,正如 Kain 所评论的那样,在框架中允许“自动播放”确实有效。

我后来注意到的真正问题是 Chrome 71 在重新加载游戏时出现了一个错误,其中上下文将再次被阻止,就好像用户来自另一个页面一样。

如果我在我的网站上点击游戏,等待页面加载,我就会释放音频上下文。如果在游戏页面中,我重新加载了页面,那么上下文将被阻止,就好像我来自另一个页面一样。

嗯,一个错误。也许 Chrome 会在未来的更新中解决这个问题。

于 2019-02-20T11:12:04.270 回答