我一直在试验html5的音频和本地存储功能,并且碰到了让我难过的东西.
我希望能够在本地缓存或存储音频元素的源,以实现更快速和离线播放.问题是我无法看到当前实现如何实现这一点.
我使用WebKit尝试了以下方法:
创建清单文件以设置本地缓存,但音频文件看起来不是可缓存的项目可能是由于它是流的方式或某事
我还尝试使用javascript将音频对象放入本地存储,但由于内存问题(我认为),mp3的大小使得这不可能.
我试图使用数据uri和base64来使用html作为可以缓存的音频传输,但文件大小再次使这个禁止.另外音频元素在WebKit中似乎不喜欢这样(在mozilla中工作正常)
我已经尝试了几种将数据放入本地数据库存储的方法.再次遇到与其他案件相同的问题.
我很想听听任何人对于如何使用WebKit中的缓存/本地存储实现离线播放目标的任何其他想法.
音频,HTML5和移动Safari上有大量SO帖子,例如:
在Mobile Safari中重用HTML5音频对象在Mobile Safari上 自动播放音频文件在Mobile Safari中 预加载HTML5音频 HTML5是否支持对离线缓存音频的访问?
但是,它们都已经过时了.
我们更喜欢支持iOS 3+的解决方案,但我们会采取任何有效的方法 - 即使它仅限于iOS 5.
任何人都有今天的确定答案,或iOS 5上的测试人员有任何见解?
谢谢!
我构建了一个离线Web应用程序(www.chirp.com),在桌面上添加书签时会自动缓存.在飞行模式下对iPhone4进行测试表明该程序在没有网络连接的情况下运行(当然除了谷歌地图访问).但mp3声音文件无法在此模式下播放.在离线模式下运行时音频标签是否有问题?声音文件包含在清单文件中,因此它们应与其他文件一起缓存.例如,仍然显示图像文件.
如果我使用PhoneGap从这个webapp创建一个iPhone应用程序怎么样?声音文件是否会包含在生成的二进制加载中?换句话说,每次运行应用程序并请求声音时,是否会暂停在线下载小型mp3文件的时间延迟?