我有一个应用程序可以播放一些音乐,使用PhoneGap和html5音频标签在iOS上播放音频 . 之前它可以在后台完美播放音乐(适用于iOS的PhoneGap 1.0.0),但在我将PhoneGap升级到1.5.0(Cordova)后,我再也无法在后台播放 .
按HOME按钮时,音频暂停 . 当我切换回应用程序时,它会恢复 .
我已经在 Info.plist 中设置 Required background modes ,其值为 audio .
Info.plist
Required background modes
audio
所以我错过了什么?谢谢 .
除了@Ayame __的回答,我注意到当你试图跳过歌曲时(在基于收音机或播放列表的应用程序中),应用程序可能会从后台发送到暂停模式 .
我写了一个简单的插件,你可以在这里找到 - https://github.com/vadimf/phonegap-audio-payer
在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(更改目标并让它运行到模拟器)和(再次更改目标后)编译到应用程序一次更多,现在它的工作原理!
Beware :它仅适用于Device,不适用于模拟器
2 回答
除了@Ayame __的回答,我注意到当你试图跳过歌曲时(在基于收音机或播放列表的应用程序中),应用程序可能会从后台发送到暂停模式 .
我写了一个简单的插件,你可以在这里找到 - https://github.com/vadimf/phonegap-audio-payer
在MainController.h文件中更改以下内容:
我不确定以下是否有必要但是我清理了我的项目(CMD ALT K),重新编译了PhoneGap / Cordova Lib(更改目标并让它运行到模拟器)和(再次更改目标后)编译到应用程序一次更多,现在它的工作原理!
Beware :它仅适用于Device,不适用于模拟器