我正在使用html5音频并遇到缓冲区的一些麻烦。这在Chrome中非常出色,但在Safari(和SafMob)中有明显的延迟。这个想法很简单。用户单击img链接并且img“跳转”并发出声音。 Here is an example
有没有办法预加载声音文件,以便更快地播放?同样,我主要关心的是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;
});
这是按钮的代码:
<ul id="bell">
<li class="button"><a href="#" title="Pling">Link Text</a></li>
</ul>
答案 0 :(得分:1)
每次单击时都要避免在全局变量上创建新的Audio元素,因此您可以重用现有实例。
然后将snd.play();
替换为snd.cloneNode(true).play();
对我而言,它产生了巨大的变化。
答案 1 :(得分:0)
preload实际上是一个值,auto,meta或automatic之一。虽然我认为默认行为是下载整个文件。
还有更多内容:Playing with audio files或来自规范本身:preload attribute。
不确定这是否有帮助。