jQuery:你如何预加载声音?

我有一个网站,当你点击一个按钮播放声音。

我就是这样做的

function PlaySound(soundfile) { $('#soundContainer').html(""); } 

你如何事先预装声音文件?

谢谢。

只是想到我的头脑,你可以为声音文件做一个ajax请求,但是在文件100%加载之前不要显示按钮。

 $(document).ready(function() { $.ajax({ url: "soundfile.mp3", success: function() { $("#play_button").show(); } }); }); 

有很多更好的方法可以用JavaScript播放声音。 对于我最喜欢的,请查看SoundManager 。 有了它,您可以简单地调用soundManager.load来抢先加载声音文件。

在HTML5中这样做:

 my_sound = $(" 

然后发挥它:

 my_sound[0].play(); 
  1. 向它发出一个AJAX请求。 如果您的服务器发出正确的缓存标头(如Expires ),它将存储在浏览器缓存中。

  2. 丑陋的方式:

  soundfile = new Image(); 
 soundfile.src = / uploads / sounds /“+ soundfile; 

没有这样的东西。

你可以使用没有autoplay的HTML5 元素,然后让它开始使用它的play()方法。