2012-02-23 47 views
6

播放声音我有以下几点:如何在JavaScript

<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。

回答

2

在iOS上,没有预加载。这是由Apple专门完成的,因此用户不必使用不必要的带宽。

+3

这是总有一些事情,不是吗? – 2012-02-23 19:01:28

+0

解决方法是在用户事件(点击,滚动等)上触发load()。 – 2012-02-23 19:16:25

+0

可能,但@ cf_PhillipSenn的措词似乎牵连*每个*绑定的'点击'事件,而不仅仅是第一个。 – msanford 2012-02-23 19:39:06

1

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

1

你需要使用触摸事件不是单击事件,切换您点击“touchstart”和延迟消失