Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Phonegap/Cordova-媒体api-从URL播放音频时,UI冻结几秒钟_Javascript_Ios_Audio_Cordova - Fatal编程技术网

Javascript Phonegap/Cordova-媒体api-从URL播放音频时,UI冻结几秒钟

Javascript Phonegap/Cordova-媒体api-从URL播放音频时,UI冻结几秒钟,javascript,ios,audio,cordova,Javascript,Ios,Audio,Cordova,经过几天的调查,我在这个问题上还是没有运气,如果你能帮我的话,提前谢谢你 我正在使用cordova 3.3来制作我的iOS应用程序,其中一个功能是播放来自URL的音频剪辑 我正在使用cordova的官方媒体api,下面是我如何按照他们的官方示例使用它 var myMedia=新媒体(“”); myMedia.play() 问题是:当启动播放事件时,UI会冻结几秒钟, 我相信这是因为从获取远程资源,当本地播放mp3时,不存在此类问题 媒体api似乎没有提供预加载功能 加载远程url mp3时,它使

经过几天的调查,我在这个问题上还是没有运气,如果你能帮我的话,提前谢谢你

我正在使用cordova 3.3来制作我的iOS应用程序,其中一个功能是播放来自URL的音频剪辑

我正在使用cordova的官方媒体api,下面是我如何按照他们的官方示例使用它

var myMedia=新媒体(“”); myMedia.play()

问题是:当启动播放事件时,UI会冻结几秒钟,

我相信这是因为从获取远程资源,当本地播放mp3时,不存在此类问题

媒体api似乎没有提供预加载功能

加载远程url mp3时,它使用与UI相同的线程,因此它将冻结,直到加载任务完成

有没有人经历过类似的问题?我们应该如何解决这个问题


非常感谢您的时间:)

我们目前正在开发一个流式播放一些音乐的应用程序,我们遇到了完全相同的问题

我们决定和他们一起去。你可以像这样使用它

var myAudio = new Audio("http://123.com/xyz.mp3");
myAudio.play();
这不会在加载时冻结我们的UI,我甚至认为它的加载速度会快一点。 它也可以在浏览器中工作,这对于测试来说很好


不利的一面是,Android不支持HTML5媒体API,并且在音频元素方面也存在一些一般性问题(在某些设备的某些版本中)。因此,如果您想支持Android,最好使用那里的Phonegap媒体API。

非常感谢Jonas!还有一个问题,html5音频标签是否允许搜索秒数?是的,通过更改其currentTime属性,例如
myAudio.currentTime=60
。我使用了上述方法。它可以工作,但退出应用程序时音频停止。如何避免这种情况?在播放媒体对象之前先构建媒体对象如何?例如,在应用程序首次启动或恢复时的“加载”屏幕期间。我对HTML5音频对象也有同样的问题,这就解决了它。