【问题标题】:PhoneGap audio lagPhoneGap 音频延迟
【发布时间】:2017-10-02 23:51:33
【问题描述】:

我使用 javascript 在我的应用程序上播放短声音:

var audio = new Audio('sound.mp3');
audio.play();

当调用上述代码时,整个应用程序会出现滞后/延迟。大约 200-500 毫秒后,应用程序会继续正常运行并播放声音。播放声音 2-3 次后,它似乎已经缓存或其他什么,因为它可以正常工作,没有延迟。

在 iOS 的 PhoneGap 应用程序中进行测试时会发生这种情况。在 Chrome 桌面上运行效果很好。

【问题讨论】:

  • 也许您正在测试的手机速度很慢?

标签: cordova phonegap


【解决方案1】:

您可以考虑在应用启动时加载声音并将其保存在缓存中。然后,只需在需要时播放它。这应该会减少圈数,甚至忽略它。

【讨论】:

【解决方案2】:

基本上,200-500 毫秒的延迟不是错误或性能问题,而是检测可能的双击的必要功能。

摆脱这种延迟的解决方案是:

1) 使用触摸事件的组合而不是点击事件,或者

2) 如果您没有 jQuery Mobile,请使用 fastClick。

3) 如果 fastclick 不起作用,请使用:

      $('yourElement').on( 'touchstart', function ( startEvent ) {});

【讨论】:

  • 我已经使用了 fastclick 和 touchstart。这不仅发生在 touchstart 上,当音频播放没有任何触摸时也会发生延迟。
  • 这可能是应用缓存的问题。也试着玩一下。这可能会有所帮助。
  • 我认为灵魂就是你所说的。播放前需要对声音进行 chached。第一次加载声音是导致延迟的原因。
【解决方案3】:

由于这是一个mp3链接设备,播放前需要下载文件,所以会有延迟。如果你想无延迟地播放音乐,你需要流媒体。

Wowza 服务器允许您使用 m3u8 (HLS) 协议设置流媒体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2012-09-16
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2012-04-27
    相关资源
    最近更新 更多