使用音频的背景和前景应用程序

问题描述:

我做了一些初步测试,并有一个好主意,答案是否定的。但只需要确认:后台和前台应用程序是否可以共享音频播放设备? (后台应用程序将是我的。前台应用程序将来自第三方)使用音频的背景和前景应用程序

这是可能的,这里是如何:

  1. 确保应用程序持续播放音频在后台离开时这样做:

    一)以下内容添加到您的信息plist文件:

    “所需的背景模式” “项目0” - > “应用程序播放音频”

    b)要求setCategory:错误:你AVAudioSession r app:

    NSError * setCategoryError = nil;

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:& setCategoryError];

  2. 允许音频与来自其他应用程序的音频通过调用AudioSessionSetProperty()混合:

    OSStatus propertySetError = 0;

    UInt32 allowMixing = true;

    propertySetError = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, 的sizeof(allowMixing) & allowMixing );

对于此代码,您需要链接AVFoundation和AudioToolbox框架。

+0

它完美的作品。谢谢! – user523234

从技术上讲,这是可能的。当背景应用播放音乐时,前台应用仍然可以播放声音效果(例如,“音乐”应用正在播放音乐,同时您会听到前台播放的游戏的声音效果)。因此,您可以声明前台应用播放的音乐为音效,而另一个应用在后台播放音乐。 但是,如果你无法控制前台应用程序,让他们播放他们的音乐作为音效,那就没有办法。

我也怀疑声明连续音乐声音效果的应用程序将通过苹果审查过程。