用于音频录制应用程序的iOS多任务处理

时间:2010-10-03 01:22:45

标签: iphone ios core-audio

我正在编写一个记录音频的应用程序。我正在研究在录音时支持多任务的可行性(在后台)。

答案似乎是我迄今为止所读到的 no ,特别是因为该程序旨在释放切换时使用的任何系统资源。

所以我想知道,当我的应用程序继续在后台捕获音频时,是否可以让用户切换到iOS中的另一个应用程序?

3 个答案:

答案 0 :(得分:25)

你可以。 Skype就是这样做的。

您可能需要在Info.plist中设置<key>UIBackgroundModes</key><array><string>audio</string></array>,并且您需要在切换应用之前确保音频会话处于活动/正在运行状态(假设您不会突然开始录制/播放音乐/当你的应用在后台播放时。)

The docs说“音频”可让您在后台播放音频,但这可能也适用于录制音频。如果它不起作用,你可以尝试一些事情:

  • 同时设置“voip”和“audio”。
  • 播放静音(这可能最容易使用音频队列API)。

答案 1 :(得分:5)

Apple似乎已经接受iOS4的应用程序,这些应用程序在后台播放时会继续录制音频,因此这可能是一种存在证据。该应用程序必须声明自己具有背景音频功能,预先分配所有音频资源并在应用程序变为背景之前启动音频录制,并且如果前台应用程序需要其内存或音频资源,也会被杀死。因此,任何系统资源的使用都应该是绝对最小的。

答案 2 :(得分:1)

是!

您的应用会在发送到后台时继续录制/播放音频。

除非您不希望将应用程序发布到Apple商店,否则请勿尝试使用VOIP(假设您将使用安装配置文件的第三方商店广播您的应用程序)。