移动网络应用程序和离线访问音频文件
Posted
技术标签:
【中文标题】移动网络应用程序和离线访问音频文件【英文标题】:Mobile web app and offline access to audio files 【发布时间】:2011-09-22 12:17:35 【问题描述】:是否可以使用 html5 缓存清单在移动 Web 应用程序中缓存音频文件以供离线访问? 我也不明白大小限制是如何工作的。 (我阅读了 ios 的 5MB 限制) 我没有找到相关资源或最佳做法。
感谢您的帮助
【问题讨论】:
另见***.com/questions/2970062/…和***.com/questions/1612116/… 感谢大卫指出这些 【参考方案1】:是的 - AppCache 中列出的所有文件都被浏览器缓存,无论它们是 HTML 文件、javascript 还是音频文件。只要在 CACHE 部分明确提及它们,它们就可以离线使用。
如需优秀的 AppCache 教程,请查看 http://www.html5rocks.com/en/tutorials/appcache/beginner/,它会引导您完成所需的一切。
大小限制可防止您在用户计算机上存储过多内容。在大多数情况下,如果您只是存储 HTML、CSS、JavaScript 和一些图像,这不是问题,但在您的情况下,如果您存储音乐,您可能会很快达到这个限制。大多数浏览器限制您最多存储 5 兆(对于所有内容),因此您需要注意这一点。
Chrome 有一套很棒的调试 appcache 的工具,在您开发网站时,打开开发者工具并观察控制台看看会发生什么。
【讨论】:
谢谢老兄。我认为这个 5M 限制不是真正的限制,因为用户被警告并询问他是否想将限制增加 5M。是这样吗? 没问题 - 有些浏览器会提示,有些则不会。例如,移动浏览器通常不会提示,而桌面会提示。 这个答案与之前的 SO 帖子相冲突:***.com/questions/2970062/…。这些帖子是过时的,还是你在做一些不同的事情?我希望你是对的! 无论音频文件的大小如何,都无法在 android 手机上缓存音频文件。【参考方案2】:通过缓存清单文件缓存音频文件在 5.1 及以下版本的 Android 手机上仍然不起作用。我不能为 Android 6 或 iPhone、iPad 说话,因为我没有这样的设备。但我在 Android 5.1 和 Android 3 上尝试了 mp3 文件,大小仅为 2 Kb,它们没有缓存在这些手机上,而缓存了 200 Kb 的 js 文件。
目前的解决方案似乎是用base 64对mp3文件进行编码,并将其放入可以缓存的js文件中。可以在 http://grinninggecko.com/2011/04/09/html5-offline-audio/ 上找到一个很好的描述。
【讨论】:
以上是关于移动网络应用程序和离线访问音频文件的主要内容,如果未能解决你的问题,请参考以下文章