サウンドが再生されるとすぐに iPhone ゲームを起動すると、再生中のバックグラウンド ミュージックまたはポッドキャストが停止します。他のゲームでは、バックグラウンド オーディオを引き続き再生できることに気付きました。
これはどのように可能ですか?アプリ デリゲートでメソッドをオーバーライドする必要がありますか?
サウンドが再生されるとすぐに iPhone ゲームを起動すると、再生中のバックグラウンド ミュージックまたはポッドキャストが停止します。他のゲームでは、バックグラウンド オーディオを引き続き再生できることに気付きました。
これはどのように可能ですか?アプリ デリゲートでメソッドをオーバーライドする必要がありますか?
オーディオ プレーヤーを使用する前に、この行をまたは一般的な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>