1

アプリケーションのバックグラウンドでオーディオを実行する必要があります。iOS 6 より前のバージョンでは、これは

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

コードを適切な .plist ファイルに追加しますが、私の phonegap プロジェクトを iOS 6 に展開すると、これは機能しなくなりました。iOS 6 でこれを修正するにはどうすればよいですか?

4

1 に答える 1

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を再コンパイルし(ターゲットを変更してシミュレーターに実行させます)、(ターゲットを再度変更した後)にコンパイルしましたアプリケーションがもう一度動作するようになりました!

注意:シミュレーターではなく、デバイスでのみ機能します

于 2012-10-31T06:02:07.900 に答える