iframe中的AudioContext跨域阻止

时间:2017-04-24 23:02:51

标签: google-chrome iframe web-audio

虽然我只是为响应点击而播放音频,但我会在脚本加载时初始化AudioContext和缓冲区。

在移动Chrome 57.0.2987.132中,控制台在从iframe加载时会显示以下警告:

  

必须创建或恢复跨源iframe中的AudioContext   从用户手势启用音频输出。

要使音频工作,我会在第一次点击时重新创建AudioContext。有没有办法在第一次点击时简单地激活现有的AudioContext?我还可以检测音频当前是否被阻止?

参考文献:

1 个答案:

答案 0 :(得分:3)

AudioContext.state会告诉您它是“正在运行”还是“暂停”。如果它被“暂停”,则从用户手势中调用AudioContext.resume(),它应该为你启动它(无需重新创建状态)。