缓存音频文件不起作用

时间:2013-07-24 20:19:14

标签: javascript html5 internet-explorer caching audio

我正在开发一款基于画布的游戏。

当然,声音是任何游戏的重要组成部分。但有时候,同样的声音可能会一次发挥不止一次。

我已经有代码检查所需的声音是否已播放,如果是,则创建具有相同音源的新声音并播放。 (从那以后,交替使用两个声音元素,直到它需要一次播放三次,在这种情况下,它会向列表添加另一个声音,依此类推)

然而,上述方法确实会在第一次一次需要多次声音时造成相当大的延迟,所以为了减轻这种情况,我希望预先加载相同的声音,以期一次使用多次

我已经设置了一个排序循环,它将添加一个预加载,然后当它完成时添加下一个,等等。这允许我预加载一堆声音而不会中断其他HTTP活动(可能这场比赛需要。)

但是,我注意到它每次都从服务器获取声音,即使已经加载了声音。

这是服务器发送的标头:

  

HTTP / 1.1 200 OK
  日期:2013年7月24日星期三20:16:44 GMT
  服务器:Apache / 2.2.23(Unix)mod_ssl / 2.2.23 OpenSSL / 0.9.8e-fips-rhel5 mod_bwlimited / 1.4
  最后修改日期:2013年7月10日星期三12:58:44 GMT
  ETag:“209f80-5121-4e127d668a900”
  Accept-Ranges:bytes
  内容长度:20769
  缓存控制:max-age = 29030400,public
  到期日:2014年7月24日星期四20:16:44 GMT
  X-UA兼容:IE =边缘
  连接:关闭
  内容类型:audio / mpeg

正如您所看到的,我有一个缓存控制标头,它适用于图像和脚本,但出于某种原因,它不用于声音。浏览器每次都重新请求它们。

帮助? = d

编辑:好的,现在浏览器似乎第一次使用缓存加载声音,但每次后续加载都会查询服务器。 ERM .....

编辑2:Chrome似乎正在处理这个问题。看起来Internet Explorer是有问题的。

0 个答案:

没有答案
相关问题