Unable to access microphone when another app is using it in Android
Asked Answered
M

2

9

I'm using code from the following URL in order to get sound data from the microphone with AudioRecord: http://www.dreamincode.net/forums/topic/303235-visualizing-sound-from-the-microphone/

The problem I'm seeing is that if another app is also using the microphone, I'm getting an error (status -3) from AudioRecord. Everything works as expected if I kill the other app which is using the microphone. Is there an elegant solution to allow my app to access the microphone even if another app is already using it?

Thank you.

Mustachio answered 11/6, 2014 at 18:34 Comment(3)
Some more information: AudioRecord.read is returning -3, which I believe means that it read zero bytes.Mustachio
Do you want to switch which app is using the microphone, or allow them both at the same time? If the latter, this is a duplicate of Share Audio Input? Simply put, only one app can use it at a time.Vergara
I want to switch which app is using the microphone. I assumed that the app in the foreground would get control of the mic, but it seems that whichever app has it first will keep control. Thanks for any help.Mustachio
T
10

Sadly, only one app at a time can access the microphone (just like the camera).

Also, there is no standard way to inform another app that you want access to the microphone (so that they release the resources and let you access it). You could however send a broadcast to all other apps ("requesting the microphone"), but the other apps would have to implement this feature (and very few or zero developers will do this).

I would recommend you to simply inform the user that the microphone is currently not available, because you can't do anything else.

Tacye answered 15/6, 2014 at 19:32 Comment(2)
Thank you. I ended up just informing the user that it can't access the microphone like you said, and to close any other apps that are using it. I have it restart access to the microphone once they come back to my app.Mustachio
How do I become the other app here? If i want to implement the feature when i receive a broadcast to relinquish the microphone resources ?Fotinas
L
3

If you are using the "OK Google" function with the option to access it from any page, try turning that off (the 'any page' bit From Google app screen MENU>SETTINGS>VOICE>"OK GOOGLE DETECTION">FROM ANY SCREEN=OFF): it hijacks the microphone, or can do.

Lueluebke answered 15/3, 2015 at 16:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.