我正在構建一個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