如何在 JavaScript 中播放声音
Posted
技术标签:
【中文标题】如何在 JavaScript 中播放声音【英文标题】:How to play sounds in 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。
【问题讨论】:
【参考方案1】:在 ios 上,没有预加载。这是 Apple 故意这样做的,这样用户就不必使用不必要的带宽。
【讨论】:
总是有些东西,不是吗? 一种解决方法是在用户事件(点击、滚动等)上触发 load()。 可能,但@cf_PhillipSenn 的措辞似乎暗示了每个 绑定a click
事件,而不仅仅是第一个。【参考方案2】:
您可以尝试在您的网络应用程序上放置一个不可见的“按钮”,该按钮会在第一次用户交互时获得点击。在那次互动之后sound.play();
应该可以工作。看看这个thread。
【讨论】:
【参考方案3】:你需要使用触摸事件而不是点击事件,将点击切换到“touchstart”,延迟就会消失
【讨论】:
以上是关于如何在 JavaScript 中播放声音的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 html 和 javascript 在网页上自动播放声音