【问题标题】:Safari and Mobile Safari require page refresh to play Howler AudioSafari 和 Mobile Safari 需要刷新页面才能播放 Howler Audio
【发布时间】:2016-01-07 21:23:02
【问题描述】:

我目前正在实施HowlerJS,并且我得到了它的工作。但是在使用 El Capitan 的 Safari 上会发生以下情况:

  1. 打开Safari,输入HowlerJS,点击播放,开始加载。
  2. 对于一些从不播放的机器
  3. 刷新页面,点击播放,就可以了。
  4. 关闭打开的 Safari,再次发生。

这也发生在 iOS 上。现在我已经看到您需要等待用户单击才能播放音频,这就是我正在做的事情。

单击按钮时,它会加载并播放音频。有没有人遇到过这个问题?我使用的是稳定版 1.1.28。

【问题讨论】:

  • 这个问题已经在 2.0 中得到修复,相当稳定,目前被很多人使用(很快就会合并到 master 中)。
  • @JamesSimpson 你能详细说明修复方法吗?我也在 Yosemite 1.1.28 上复制它。

标签: javascript ios safari howler.js


【解决方案1】:

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
    });
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 2016-12-08
    • 2011-11-30
    • 2012-02-02
    相关资源
    最近更新 更多