WebAudioContext在iFrame上暂停

时间:2019-01-28 12:44:11

标签: html5 iframe audiocontext webcontext

从Chrome 71 WebAudioContext开始,似乎AudioContext从页面上的悬浮状态开始,直到满足某些要求为止。

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

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

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

我们的游戏只能在iFrame内部真正点击播放后才能播放音频,这非常糟糕,特别是对于菜单中带有音乐/声音的游戏。

在我自己的网页上,我找不到任何方式签名那些iFrame可以执行其音频。

2 个答案:

答案 0 :(得分:1)

我在Soundcloud Widget API中遇到了这个问题。我的解决方案是将属性allow =“ autoplay”添加到iframe!

答案 1 :(得分:0)

对于任何有此问题的人,正如Kain所说,允许框架中的“自动播放”确实有效。

我真正的问题是我后来发现的,那就是Chrome 71在重新加载游戏时出现了一个错误,该错误会再次阻止上下文,就像用户来自另一个页面一样。

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

嗯,一个错误。也许Chrome会在以后的更新中修复此问题。