Simultaneous Microphone Access

We were developing a Skype Recorder for Android and got struck in the issue of simultaneous access of microphone by our app and Skype as Android does not allow two apps to access the microphone.

After reading some articles it seems that iPhone allows simultaneous access of microphone by two apps as many apps are available that do recording for Skype.

I want to find out is our assumption is correct that Android does not allow while iPhone does allow simultaneous microphone access?

Please note that on desktop system we were able to record Skype test call as Windows desktop allows shared microphone access.

Thanking you very much.

I’m no Android programmer, but I have read that only one app can record from the mic at one time. However there are ways around it - make the one app able to pass audio to multiple other apps, for example, by splitting up the audio recorded and passing around audio files created from the input. But it sounds very tacky.

On iOS multiple apps can record audio but all are subject to the rule around privacy (a user must give permission to every app that requests microphone access) and around background execution (see iOS Programming Guide). Fortunately recording audio is one of the acceptable use cases and there are a few apps that do it.

Dear aeberbach,

Thanks for your reply. I myself also think that simultaneous microphone access is possible as there are many Skype recorders available for iPhone. Can you share some link where this possibility of simultaneous microphone access on iPhone is discussed so that I can forward it to my senior hierarchy as a reference.

Thanks again all forum members.

The great thing about it is that you don’t need to worry about it being simultaneous - there isn’t any special process to follow. All you need to do is request access to the microphone in the normal way.

Remember that you are not getting an audio feed from another application and you are not interacting with that other application in any way. If you can pick up the sound of a conversation through the microphone while it is playing through the speaker, then that is probably because the speaker is mechanically coupled through the case of the device to the microphone and it it next to impossible to completely stop that from happening. The sound quality may vary depending on the physical characteristics of the device. So all you need to do to make this happen is request access and record audio in the normal way and what you get is what the user is hearing.

But remember - you cannot intercept the audio from another application directly, no more than you can open another application’s files. You are still sandboxed.