iOS multitasking for an Audio Recording application

dineth picture dineth · Oct 3, 2010 · Viewed 15.8k times · Source

I am writing an application that records audio. I am looking into the feasibility of supporting multitasking while doing audio recordings (in the background).

The answer seems to be a no from what I've read so far, especially since the program is meant to release any system resources being used when switched out.

So I am wondering, is it possible to let the user switch to another application in iOS while my application continues to capture audio in the background?

Answer

tc. picture tc. · Oct 3, 2010

You can. Skype does this.

You presumably need to set <key>UIBackgroundModes</key><array><string>audio</string></array> in Info.plist, and you need to make sure that the audio session is active/running/whatever before you switch apps (the assumption is that you won't suddenly start recording/playing music/whatever when your app is in the background).

The docs say that "audio" lets you play audio in the background, but presumably this also applies to recording audio. If it doesn't work, there are a few things you could try:

  • Set both "voip" and "audio".
  • Play silence (this might be easiest to do with the Audio Queue API).