V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
paicha
V2EX  ›  问与答

Safari 为何无法缓存 MP3 文件?

  •  
  •   paicha · 2015-03-02 16:35:13 +08:00 · 3007 次点击
    这是一个创建于 3541 天前的主题,其中的信息可能已经有所发展或是发生改变。
    无论是移动端还是桌面端的 Safari ,在检查器中查看网络请求,发现 MP3 总是重新下载了。

    这种情况在桌面端的 Chrome 上不会出现,全部资源都缓存了。
    但是在移动端的 Chrome 又出现了 MP3 不能缓存的问题。

    使用 HTML5 的离线缓存可以解决 MP3 缓存的问题,但是整个 HTML 页面被缓存了,而且更新麻烦。

    若找不到其他解决方法,初步想通过 base64 编码,把音频文件转码储存在 Local Storage,再提取播放。
    第 1 条附言  ·  2015-03-02 21:02:01 +08:00
    base64 编码的 MP3 在移动端播放不了。还是不折腾了,取消音频的默认加载。
    5 条回复    2015-03-02 20:12:21 +08:00
    paicha
        1
    paicha  
    OP
       2015-03-02 16:42:55 +08:00
    文件 HEAD 信息如下

    Expires: Fri, 02 Oct 2015 06:54:51 GMT
    Date: Thu, 02 Oct 2014 06:54:51 GMT
    Server: nginx
    Content-Type: audio/mpeg
    Content-Length: 1728984
    Cache-Control: max-age=31536000
    Last-Modified: Wed, 21 Jan 2004 19:51:30 GMT
    Age: 13051088
    Via: 1.0 gdfsdx80:88 (Cdn Cache Server V2.0),1.0 jy16:5011 (Cdn Cache Server V2.0)
    Connection: keep-alive
    paicha
        2
    paicha  
    OP
       2015-03-02 16:50:36 +08:00
    搜索到:
    http://createjs.com/Docs/SoundJS/classes/HTMLAudioPlugin.html

    iOS 6 limitations
    can not cache the audio
    # 测试使用的是 iOS 8

    Android Chrome 26.0.1410.58 specific limitations
    Sound is not cached
    # 我测试的时候是40.x 的版本
    kacong
        4
    kacong  
       2015-03-02 18:59:53 +08:00
    估计是为了版权保护的原因。FF应该可以吧。
    paicha
        5
    paicha  
    OP
       2015-03-02 20:12:21 +08:00
    @kacong 不是吧……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1127 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.