在iOS背景模式下继续播放html5播放器中的音频

问题描述:

我们使用Sencha touch在html5和javascript中构建了面向音乐的应用程序。为了分发,我们用UIwebView将它包装在xcode中。一切都运行良好,除了一件不起作用的事情:以多任务模式播放音频。在iOS背景模式下继续播放html5播放器中的音频

我知道的总体思路:添加UIBackgroundModes在info.plist中。

完成。现在我们甚至可以在后台模式下播放音频。

直到我们到达歌曲的末尾。要开始下一首歌曲,我们必须再次将应用带到前台,或者我们可以点击iPhone音频控制器上的播放或“下一首歌曲”按钮。

经过一番研究,我发现了一个很有希望的解决方法:“Entering background on iOS4 to play audio”,其中的解决方法是编辑AVAudioSessionCategoryPlayback并使用UIBackgroundTaskIdentifier。 对我来说,问题就在于(就像我在目前发现的任何其他修复中一样),那些解决方案始终假定音频是用AVaudioPlayer或MPMusicPlayerController播放的。但在我的情况下,我用户都没有,我们的音频是由我们在UIwebView中包装的html5播放器播放的。

任何人有关于如何继续播放音频的iOS多任务模式下的音频播放器是一个HTML5/JavaScript的球员有什么建议?

谢谢,伙计们,但是我最终只是在保持应用程序忙于在一个循环中后台模式。这足以弥补连接播放列表中下一首歌曲的时间。 我使用的代码是类似于此: iPhone - Backgrounding to poll for events

我的应用起着通过HTML中的<audio>标签在UIWebView托管音频,并支持后台播放。

你的建议,你需要有“应用播放音频”在你的plist中定义的背景模式。

尝试添加以下内容到applicationDidFinishLaunching:处理程序:

NSError *setCategoryError = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 

你可以尝试this,在onend事件添加功能。