我们有一个 Phonegap 应用程序(目前仅适用于 iPhone),它同时使用 HTML5 Audio 标签(用于流式传输)和 Media 对象(用于播放本地存储的 mp3)。它们都提供到 iTunes 商店的网络链接。
过去的情况是(至少使用 Media 对象),即使由于启动了另一个应用程序或加载了 iTunes 链接,即使应用程序在后台运行,音频也会继续播放。只需在项目配置中向 UIBackgroundModes 添加“音频”即可实现这一点。(信息.plist)
我知道随着 iOS6 的出现,这种情况发生了变化:UIWebView: HTML5 audio pauses in iOS 6 when app enters background
这解决了 HTML5 音频的问题(即,当我使用网络链接启动 iTunes 时,流式音频继续播放),但对于媒体对象 - 当我点击 iTunes 链接时,音频仍然中断)。奇怪的是,当我使用 itms-apps:// 而不是 http:// 时,音频不会中断,但随后它会启动应用商店而不是 iTunes。换句话说,iTunes 是唯一会导致音频中断的应用程序,但只有在从 Media 对象播放音频时才会如此。
有谁知道为什么启动 iTunes 可能会切断 Media 对象产生的音频,而其他应用程序却没有?