我们使用Sencha touch在html5和javascript中构建了面向音乐的应用。为了分发,我们使用UIwebView将其包装在xcode中。除了一件不起作用的事情之外,其他所有东西都运行良好:在多任务模式下播放音频。
我知道一般的想法:在info.plist中添加UIBackgroundModes。
完成。现在,即使在背景模式下,我们也可以播放音频。
直到我们到达歌曲的结尾。要开始播放下一首歌曲,我们必须再次将应用程序置于前台,否则我们可以按一下iPhone音频控制器上的“播放”或“下一首歌曲”按钮。
[经过一些研究,我在以下位置找到了一种有希望的解决方法:“ Entering background on iOS4 to play audio”,该解决方法是编辑AVAudioSessionCategoryPlayback并使用UIBackgroundTaskIdentifier。对我而言,问题是(就像到目前为止找到的其他修复程序一样),这些解决方案始终假定使用AVaudioPlayer或MPMusicPlayerController播放音频。但就我而言,我都不用,我们的音频由包装在UIwebView中的html5播放器播放。
有人对音频播放器是html5 / javascript播放器时如何在iOS多任务模式下继续播放音频有任何建议?
我的应用程序通过<audio>
中托管的html中的UIWebView
标签播放音频,它支持后台播放。
根据您的建议,您需要在plist中定义“应用播放音频”背景模式。
尝试将此添加到applicationDidFinishLaunching:
处理程序:
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
[谢谢,伙计们,但是我最终只是在后台模式下使应用程序处于忙碌状态。这足以桥接连接到播放列表中下一首歌曲的时间。我使用的代码与此类似:iPhone - Backgrounding to poll for events
您可以尝试this,在onend
事件上添加一个功能。
@@ TomSwift,我在离子项目中使用了音频标签,并且App播放音频项已在此处定义。但是它不是在后台模式下播放音乐。你能帮我吗?