我使用JavaScript来打一短声在我的应用程序:PhoneGap的音频滞后
var audio = new Audio('sound.mp3');
audio.play();
当上面的代码被调用时,整个应用程序得到一个滞后/延迟。大约200-500ms后,应用程序会继续正常播放声音。在播放声音2-3次之后,它似乎已经被缓存了或者什么,因为那样它的工作原理应该没有滞后。
在iOS的PhoneGap应用程序中测试时会出现这种情况。在Chrome桌面上运行,效果很好。
我使用JavaScript来打一短声在我的应用程序:PhoneGap的音频滞后
var audio = new Audio('sound.mp3');
audio.play();
当上面的代码被调用时,整个应用程序得到一个滞后/延迟。大约200-500ms后,应用程序会继续正常播放声音。在播放声音2-3次之后,它似乎已经被缓存了或者什么,因为那样它的工作原理应该没有滞后。
在iOS的PhoneGap应用程序中测试时会出现这种情况。在Chrome桌面上运行,效果很好。
您可能会考虑在启动应用程序时加载声音并将其保存在缓存中。然后,在需要时播放它。这应该减少一圈或甚至省略它。
谢谢。我还没有找到一个很好的解决方案来将声音加载到缓存,所以我可以尝试,你知道吗? – Rasmus
这个插件可能非常有用:https://github.com/floatinghotpot/cordova-plugin-nativeaudio –
基本上,200-500毫秒的延迟不是一个错误或性能问题,它是检测可能的双击的必要功能。
的解决方案,以摆脱延迟的是:
1)要使用触摸事件,而不是点击事件的组合,或者
2)Touse fastClick如果你没有jQuery Mobile的。
3)如果fastclick不起作用,使用此:
$('yourElement').on('touchstart', function (startEvent) {});
由于这是一个MP3连接设备需要播放前先下载文件,因此滞后。如果你想播放音乐没有滞后,你需要流媒体。
Wowza服务器允许您使用m3u8(HLS)协议设置流媒体。
也许您正在测试的手机速度很慢? – PHPglue