我在最新版本的 Chrome 桌面上收到了这个 JavaScript 警告,它现在可以防止在没有用户交互的情况下自动播放声音:http: //bgr.com/2018/03/22/google-chrome-autoplay-videos-sound -堵塞/
所以我在控制台日志中收到此错误/警告:“AudioContext 不允许启动。它必须在页面上的用户手势后恢复(或创建)”
有什么方法可以让我在用户交互时恢复声音或 SoundJS 的音频上下文,比如页面上的点击或键盘事件?
我的设置是我使用 preloadJS 来加载我的 MP3,如下所示:
queue.loadManifest([
{id: 'sndScore', src: 'sndScore.mp3'}
]);
然后我播放这样的声音:
createjs.Sound.play("sndScore");
我尝试放置一个标志 var unitInteracted= false; 然后,如果用户与页面交互,我将其设置为 true,并像这样修改我的声音播放代码,以确保在我尝试播放声音之前已经与页面进行了交互:
if (unitInteracted) {
createjs.Sound.play("sndScore");
}
...但由于某种原因,我仍然收到上述错误/警告,并且页面最终仍然被静音。一旦 Chrome 说:“AudioContext 不允许启动。它必须在页面上的用户手势之后恢复(或创建)”,有什么方法可以取消静音?
谢谢!