我做了一些初步测试,并且很清楚答案是否定的。但只需要确认:后台和前台应用程序可以共享音频播放设备吗? (后台应用程序将是我的。前台应用程序将来自第三方)
答案 0 :(得分:3)
这是可能的,以下是:
通过执行以下操作,确保应用程序在后台中继续播放音频:
a)将以下内容添加到您的Info plist文件中:
“所需的背景模式” “项目0” - > “App播放音频”
b)调用setCategory:error:对于你的app的AVAudioSession:
NSError * setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:& setCategoryError];
通过调用AudioSessionSetProperty(),允许您的音频与其他应用的音频混合:
OSStatus propertySetError = 0;
UInt32 allowMixing = true;
propertySetError = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixing), &安培; allowMixing );
您需要为此代码链接AVFoundation和AudioToolbox框架。
答案 1 :(得分:0)
从技术上讲,这是可能的。当一个后台应用程序正在播放音乐时,前景应用程序仍然可以播放音效(就像“音乐”应用程序正在播放音乐,同时您听到正在播放前景的游戏的声音效果)。所以你可以声明音乐是一个前景应用程序播放的音效,而另一个应用程序在后台播放音乐。 但如果你无法控制前景应用程序,让他们播放他们的音乐作为音效,那就没有办法了。
我还怀疑一个宣称连续音乐是声音效果的应用程序将通过Apple审核流程。