我正在构建一个HTML5网页游戏,对经典小行星游戏进行精确的旋转。我遇到的问题是,与Chrome或Firefox不同,Safari不会自动缓存和使用.wav声音文件。如果发生大量声音,这会导致严重滞后。上需要一个“射击”的声音的每个实例,浏览器将执行新的GET请求来获取音频文件,如下所示:Safari不利用应用程序缓存清单
,你会看到151013__bubaproducer__laser经典拍-2 .wav是一次又一次通过网络请求的拍摄声音,不会被缓存。在企图迫使Safari浏览器缓存文件,我创建了一个Asteroids.manifest文件的应用程序缓存利用:
是的,这是相对于双方的index.html正确的目录位置以及Asteroids.manifest。和清单文件确实出现了被消耗掉,因为它在Safari浏览器的调试器存储可见:
请让我知道如果您有任何建议,因为我已经尝试了各种不同设置的.manifest文件,包括命名它.appcache,确保它提供MIME类型的文本/缓存清单,并删除NETWORK/CACHE/FALLBACK字段
编辑说明:window.applicationCache.status )是1(空闲)
如果这个问题是正确的,你可能可以调整wav文件中的头文件以便至少在第一次播放后将其缓存起来:http://stackoverflow.com/questions/11094414/caching-sounds-on-移动Safari浏览器 – dandavis