How can I record currently playing audio on the iPhone?

Simon picture Simon · Feb 3, 2012 · Viewed 47.6k times · Source

I'd like to record what the iPhone is currently outputting. So I'm thinking about recording audio from Apps like Music (iPod), Skype, any Radio Streaming App, Phone, Instacast... I don't want to record my own audio or the mic input.

Is there an official way to do this? How do I do it? It seems like AVAudioRecorder does not allow this, can somebody confirm?

Answer

Warren Burton picture Warren Burton · Feb 3, 2012

Officially you can't. The audio stream belongs to the app playing it ,and iOS.

The Sandbox paradigm means that a resource owned by your App can't be used by another App. Resource here means Audio/Video stream or file. Exceptions are when a mediator like Document interaction controller are used.

If you want to do this you'd have to start with deducing AVFoundation's private methods and find out if theres a way there. Needless to say this it wouldn't be saleable on the App store and will probably only be possible on a jailbreak.

Good Luck.