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

时间:2013-09-28 16:44:45

标签: ios core-audio

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

2 个答案:

答案 0 :(得分:3)

这是可能的,以下是:

  1. 通过执行以下操作,确保应用程序在后台中继续播放音频:

    a)将以下内容添加到您的Info plist文件中:

    “所需的背景模式”   “项目0” - > “App播放音频”

    b)调用setCategory:error:对于你的app的AVAudioSession:

    NSError * setCategoryError = nil;

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

  2. 通过调用AudioSessionSetProperty(),允许您的音频与其他应用的音频混合:

    OSStatus propertySetError = 0;

    UInt32 allowMixing = true;

    propertySetError = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers,                                                 sizeof(allowMixing),                                                 &安培; allowMixing                                                 );

  3. 您需要为此代码链接AVFoundation和AudioToolbox框架。

答案 1 :(得分:0)

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

我还怀疑一个宣称连续音乐是声音效果的应用程序将通过Apple审核流程。