我在PhoneGap应用程序上使用Howler.js。由于我的音频文件很大(超过10Mb),因此请将buffer属性设置为true(强制HTML5 Audio)。

var theSound = new Howl({
  urls: ['assets/Sound.m4a'],
  buffer: true,
  sprite: {
    scene0 : [ 1966000, 27000] }

当我在模拟器和iPad Mobile Safari上测试应用程序时,一切运行良好。但是,当我在iPad上将应用程序作为应用程序运行时,音频永远不会启动。使用Web检查器,我注意到音频文件尝试一次又一次地加载,就像循环不停一样。您可以在运行同一个PhoneGap应用程序的模拟器和iPad上的Web检查器上看到“资源”选项卡的附加屏幕快照。

有什么问题的想法吗?

最佳答案

我已经研究了一段时间了。

从我收集到的信息来看,Howler默认使用Web Audio API,而this SO answer说您需要一个“用户输入事件”才能使其在iOS上正常工作,因为默认情况下它将使所有内容静音。 我什至在iPad 2上使用iOS 5(我还没有更新)在Howler上尝试过Howler自己的交互式演示,但我尚未更新here和NONE OF THE SOUNDS WORK 。我的第一个链接具有指向Apple文档的链接,但我还没有尝试过,但是看起来Howler的便利性已被XMLHTTPRequest占用大约5-10行的较低级别的实现所取代(请参阅Apple链接)。 ),或其他功能更丰富的库。我仍在了解我到底需要什么,但是今天我一直在解决一个非常相似的问题。

但是后来,Howler退回到HTML5 Audio。好的,所以我现在就使用这个link comes up进行搜索,这只是让我想起了OGG ACC MP3等在各种浏览器,浏览器布局引擎和操作系统之间的兼容性考虑。因此,我相信您所知与MP3相关的文件格式M4A在目标iPad OS上的目标浏览器中无法正常工作。我还不太熟悉,无法提供确切的细节,但是可以肯定的是,由于Howler无法在我的iPad上运行,因此证明至少存在问题。

我选择使用Howler的要点是将以上所有内容抽象化!我现在要去寻找另一个更全面的库= D

关于ios - 音频永远不会在iPad上加载,但可以在模拟器上完美运行-PhoneGap + Howler.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20915974/

10-09 22:56