Html5 audio / jQuery:播放延迟问题(预加载)

我正在使用html5音频并遇到缓冲区的一些麻烦。 这在Chrome中非常出色,但在Safari(和SafMob)中有明显的延迟。 这个想法很简单。 用户单击img链接并且img“跳转”并发出声音。 这是一个例子 。

有没有办法预加载声音文件,以便更快地播放? 同样,我主要关心的是Safari / Safari Mobile浏览器。

我正在使用的jQuery:

$("#bell a").click(function() { var snd = new Audio("ping.mp3"); snd.play(); $(this).stop().animate({ marginTop: "-10px" }, 200).animate({ marginTop: "18px" }, 200).animate({ marginTop: "1px" }, 300); return false; }); 

这是按钮的代码:

  

preload实际上是一个值,auto,meta或automatic之一。 虽然我认为默认行为是下载整个文件。

还有一点: 播放音频文件或从规范本身: preload属性 。

不确定这是否有帮助。

每次单击时都要避免在全局变量上创建新的Audio元素,因此可以重用现有实例。

然后替换snd.play(); with snd.cloneNode(true).play();

对我来说,它产生了巨大的变化。