【问题标题】:How to play sounds in JavaScript如何在 JavaScript 中播放声音
【发布时间】:2012-02-23 18:58:06
【问题描述】:

我有以下几点:

<audio id="clickdown-wav" src="ClickDown.wav" preload="auto"></audio>

然后在我的 JavaScript 中,我有:

var ClickDown = $('#clickdown-wav')[0];

$(document).delegate('a','click',function() {
    ClickDown.play();
});

问题是当我按下锚标签时(在 iPad 上)它不是太活泼。在我按下锚标签和播放 wav 文件之间存在明显的延迟。

问:是否有仅通过源代码来播放 JavaScript 声音的解决方案? Clickdown.wav 只有 1k。

【问题讨论】:

    标签: javascript ios audio


    【解决方案1】:

    在 iOS 上,没有预加载。这是 Apple 故意这样做的,这样用户就不必使用不必要的带宽。

    【讨论】:

    • 总是有些东西,不是吗?
    • 一种解决方法是在用户事件(点击、滚动等)上触发 load()。
    • 可能,但@cf_PhillipSenn 的措辞似乎暗示了每个 绑定a click 事件,而不仅仅是第一个。
    【解决方案2】:

    您可以尝试在您的网络应用程序上放置一个不可见的“按钮”,该按钮会在第一次用户交互时获得点击。在那次互动之后sound.play(); 应该可以工作。看看这个thread

    【讨论】:

      【解决方案3】:

      你需要使用触摸事件而不是点击事件,将点击切换到“touchstart”,延迟就会消失

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-30
        • 2011-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-31
        相关资源
        最近更新 更多