1

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

4

2 回答 2

3

这是可能的,方法如下:

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

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

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

    b) 为您的应用程序的 AVAudioSession 调用 setCategory:error::

    NSError *setCategoryError = nil;

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

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

    OSStatus propertySetError = 0;

    UInt32 允许混合 = 真;

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

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

于 2013-09-28T18:26:17.337 回答
0

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

我也怀疑一个宣布连续音乐为音效的应用程序是否会通过 Apple 审核流程。

于 2013-09-28T17:03:59.940 回答