在Phonegap项目的iOS 6上,音频不再在后台播放

时间:2012-10-29 19:13:49

标签: audio cordova ios6 multitasking

我需要在后台运行音频才能运行我的应用程序。在iOS 6之前的版本中,通过添加

完美地工作
<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

代码到相应的.plist文件,但是当我将我的phonegap项目部署到iOS 6时,这不再有效。如何在iOS 6中修复此问题?

1 个答案:

答案 0 :(得分:2)

在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,而不适用于模拟器