2012-03-23 59 views
5

我有一个应用程序可以播放一些音乐,使用PhoneGap和html5音频标签在iOS上播放音频。以前它可以完美地在背景中播放音乐(使用PhoneGap 1.0.0 for iOS),但是在将PhoneGap升级到1.5.0(Cordova)之后,我无法在后台播放它。如何使应用程序在后台播放音频(iOS上的phonegap 1.5.0)

当我按HOME按钮时,音频暂停。当我切换回应用程序时,它会恢复。

我已经在Info.plist中设置了Required background modes,其值为audio

那么有什么我错过了?谢谢。

回答

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 /科尔多瓦库(改变目标,并让它运行到模拟器)和(再次改变目标后)再次编译到应用程序,现在它的工作!

当心:它只能在设备,而不是在模拟器上

+0

这样得出AVAudioSession一个错误,如果你不确保添加#进口 2015-02-07 12:37:51

+0

遗憾的是还没有在最新版本的phonegap – 2015-02-07 13:04:56

+0

上工作,这是行不通的 – 2017-06-14 18:58:21

0

除了@Ayame __的答案,我注意到,应用程序可能从后台当您尝试跳过歌曲发送到挂起模式(在收音机或播放列表的应用程序)。

我写了一个简单的插件,你可以在这里找到 - https://github.com/vadimf/phonegap-audio-payer

相关问题