【问题标题】:Audio delay on HTML5 mobile web appHTML5 移动网络应用程序上的音频延迟
【发布时间】:2013-11-15 16:40:21
【问题描述】:

我正在使用 HTML5 和 Javascript 开发移动网络应用程序。目标是使用 HTML5 音频标签创建一个带有在触摸事件后播放声音的按钮的页面。但是我注意到触摸事件和正在播放的声音之间存在显着延迟,即使在音频文件被缓存之后也是如此。我认为这可能是由于 iOS Safari 处理声音的方式,但我不确定。这个问题有什么解决方案或创造性的解决方法吗?如何最大限度地减少触摸事件和播放之间的延迟?

【问题讨论】:

    标签: javascript ios html audio mobile-website


    【解决方案1】:

    音频延迟可能是因为 iOS 中的缓冲问题导致蜂窝数据收费。用户必须明确触发事件才能开始下载内容。

    在 iOS 上的 Safari(适用于所有设备,包括 iPad)中,用户可能在蜂窝网络上并按数据单位收费,因此禁用了预加载和自动播放。在用户启动数据之前不会加载数据。这意味着 JavaScript play() 和 load() 方法在用户开始播放之前也是不活动的,除非用户操作触发了 play() 或 load() 方法。换句话说,用户启动的播放按钮有效,但 onLoad="play()" 事件无效。

    -https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-SW1

    === 编辑 ===

    一个潜在的改进是为移动产品使用较低比特率/较高压缩的音频。但是,质量将大大降低。仅在您的应用程序可接受的情况下使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      相关资源
      最近更新 更多