我有一个播放音乐的应用程序,使用PhoneGap和html5音频标签在iOS上播放音频。之前它可以在后台完美播放音乐(适用于iOS的PhoneGap 1.0.0),但在我将PhoneGap升级到1.5.0(Cordova)之后,我再也无法在后台播放它了。
按HOME按钮时,音频暂停。当我切换回应用程序时,它会恢复。
我已在Required background modes
中设置Info.plist
,其值为audio
。
那么我错过了什么?谢谢。
答案 0 :(得分:3)
在MainController.h文件中更改以下内容:
#import "MainViewController.h"
#import <AVFoundation/AVFoundation.h>
@implementation MainViewController
- (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
}
return self;
}
我不确定是否需要以下内容但是我清理了我的项目(CMD + ALT + K),重新编译了PhoneGap / Cordova Lib(更改目标并让它运行到模拟器)和(再次更改目标后)再次编译到应用程序,现在它的工作原理!
小心:它只适用于Device,而不适用于模拟器
答案 1 :(得分:0)
除了@Ayame __的回答,我注意到当你试图跳过歌曲时(在收音机或基于播放列表的应用程序中),应用程序可能会从后台发送到暂停模式。
我写了一个简单的插件,你可以在这里找到 - https://github.com/vadimf/phonegap-audio-payer