25

サウンドが再生されるとすぐに iPhone ゲームを起動すると、再生中のバックグラウンド ミュージックまたはポッドキャストが停止します。他のゲームでは、バックグラウンド オーディオを引き続き再生できることに気付きました。

これはどのように可能ですか?アプリ デリゲートでメソッドをオーバーライドする必要がありますか?

4

1 に答える 1

59

オーディオ プレーヤーを使用する前に、この行をまたは一般的なapplication:didFinishLaunchingWithOptions:メソッドに配置します。AppDelegate

 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];

ドキュメントによると、AVAudioSessionCategoryAmbientカテゴリは

サウンドの再生が主要でないアプリの場合、つまり、サウンドをオフにしてもアプリを正常に使用できます。

このカテゴリは、ユーザーが iPod オーディオで演奏する仮想ピアノなど、「一緒に演奏する」スタイルのアプリにも適しています。このカテゴリを使用すると、他のアプリからのオーディオがオーディオとミックスされます。音声は、画面ロックとサイレント スイッチ (iPhone ではリング/サイレント スイッチと呼ばれます) によって消音されます。

エラーが発生していないことも確認したい場合は、戻り値を確認する必要があります

NSError *error;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
if (!success) {
     //Handle error
     NSLog(@"%@", [error localizedDescription]);
} else {
   // Yay! It worked!      
}

AVFoundation最後に、フレームワークをプロジェクトにリンクしてインポートすることを忘れないでください。

#import <AVFoundation/AVFoundation.h>
于 2013-01-02T12:55:37.230 に答える