私はいくつかの予備テストを行い、答えがノーであるという良い考えを持っています. バックグラウンド アプリとフォアグラウンド アプリはオーディオ再生デバイスを共有できますか? (バックグラウンドアプリは私のものになります。フォアグラウンドアプリはサードパーティのものになります)
2 に答える
それは可能であり、その方法は次のとおりです。
これを行うことで、アプリがバックグラウンドに残っているときにオーディオを再生し続けることを確認してください:
a) Info plist ファイルに以下を追加します。
「必要なバックグラウンド モード」「アイテム 0」 -> 「アプリがオーディオを再生」
b) アプリの AVAudioSession に対して setCategory:error: を呼び出します。
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback エラー:&setCategoryError];
AudioSessionSetProperty() を呼び出して、オーディオを他のアプリのオーディオとミックスできるようにします。
OSStatus propertySetError = 0;
UInt32 allowMixing = true;
propertySetError = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof (allowMixing), &allowMixing );
このコードの AVFoundation および AudioToolbox フレームワークにリンクする必要があります。