0

我有一个网站,每次执行 javascript 时document.getElementById('audioID').load();document.getElementById('audioID').play();它都会导致我的 iPad/iPod 在独立模式下运行 iOS8 突然崩溃并退出到主屏幕。在 iOS8 上运行普通 Safari 浏览器的同一站点运行良好。我也无法在 iOS7 上重现此问题。

此问题似乎类似于以下似乎描述 IOS8 错误的堆栈问题:Why HTML5 video doesn't play in IOS 8 WebApp(webview)? ,除了我的问题处理的是音频而不是视频,并且不仅无法播放音频,而且还使独立窗口崩溃。

有没有其他人经历过这种情况,或者知道究竟是什么导致独立模式崩溃?

[更新]

它似乎是提交按钮与尝试在 iOS8 的独立模式下播放音频的组合会导致崩溃。我创建了一个快速要点来演示此错误:https ://gist.github.com/macmadill/262d65ad1c02936fca4b

[更新]

我在 3 个不同的 iPad 上重新测试了这个错误,这是我的结果:

iOS 8.1.2 - 独立模式崩溃

iOS 8.3 - 没问题

iOS 9.2.1 - 没问题

4

2 回答 2

-1

我遇到了同样的问题。对于一个稍微复杂的解决方法,事实证明,即使“webapp”被保存到 ios 主屏幕,使用 Web Audio API 也可以工作。请参阅以下内容:

一些示例使用了已弃用的 API。例如:

  • noteOn(x) 现在是 start(x)。
  • createGainNode() 现在是 createGain()
于 2015-03-01T14:00:40.513 回答
-1

唯一的解决方案是使用 Web Audio API。

我发现 https://github.com/goldfire/howler.js/ 是一个很好的包装器,使它易于使用。

祝你好运

于 2015-03-30T14:16:48.613 回答