HTML5移动networking应用中的audio延迟
我正在开发一个使用HTML5和Javascript的移动networking应用程序。 目标是使用HTML5audio标签在触摸事件之后有一个播放声音的button。 但是,即使在audio文件被caching之后,我仍然注意到触摸事件和正在播放的声音之间存在显着的延迟。 我想这可能是由于iOS Safari处理声音的方式,但我不确定。 有什么解决scheme或创造性的解决方法来解决这个问题? 我怎样才能最小化触摸事件和播放之间的延迟?
audio延迟可能是由于iOS中存在因蜂窝数据收费而导致的缓冲问题。 用户必须明确触发事件才能开始下载内容。
在iOS上的Safari(包括iPad在内的所有设备上),用户可能位于蜂窝networking中,并按照数据单位收费,则预加载和自动播放function将被禁用。 直到用户启动它才会加载数据。 这意味着除非用户操作触发play()或load()方法,否则JavaScript play()和load()方法在用户启动播放之前也处于非活动状态。 换句话说,用户启动的“播放”button可以工作,但onLoad =“play()”事件不会。
===编辑===
一个潜在的改进是对移动产品使用较低比特率/较高压缩audio。 质量将会显着降低。 只有在应用程序中可以接受的情况下才使用。