Safari和Mobile Safari需要页面刷新才能播放Howler Audio

时间:2016-01-07 21:23:02

标签: javascript ios safari howler.js

我目前正在实施HowlerJS,我让它发挥作用。但是使用El Capitan在Safari上发生了以下情况:

  1. 打开Safari并输入HowlerJS并点击播放,然后开始加载。
  2. 对于几个从未玩过的机器
  3. 刷新页面,点击播放,它有效。
  4. 关闭打开的Safari,再次发生。
  5. 它也在iOS上发生。现在我已经看到你需要等待用户点击播放音频,这就是我正在做的事情。

    点击按钮后,它会加载并播放音频。有人遇到过这个问题吗?我正在使用稳定版本1.1.28。

1 个答案:

答案 0 :(得分:2)

Safari 9在初始页面加载时有started to suspend audio。除了你通常要做的所有其他歌曲和舞蹈之外,现在我们必须指示AudioContext恢复并推迟我们的业务逻辑,直到该承诺结算。您可能只想在点击处理程序中进行此检查。

if(Howler.ctx && Howler.ctx.state && Howler.ctx.state == "suspended") {
    Howler.ctx.resume().then(function() {
        console.log("AudioContext resumed!");
        // fire your callback here
    });
}

咆哮2.0本来应该已经fixed这个,但是对于我们稳定的用户来说没有1.1.28的运气> _>