Question

How do I force the Android system to select the 3.5mm Jack as my microphone source? I am using the AudioRecord class to do the recording.

I am using an external Microphone. When it is detected all works well, but sometimes the external microphone is not detected automatically. A TRRS splitter (cheap $3 thing) is used to split the 3.5mm Jack into separate Mic and Headphone jacks (I need simultaneous recording and playback).

The AudioManager.setWiredHeadsetOn() is deprecated and instructions say not to use it.

1) Do I maybe need additional external hardware to provide the correct microphone impedance?

2) Can I force the input in code?

3) Can a custom ROM archive audio control at this level - maybe this is the best option?

Thanks

Was it helpful?

Solution

It is very likely a hardware issue. Samsung phones seem to require a microphone with impedance of around 1.0k - 1.5k Ohm. Try modifying the input mic line by adding a series resistor to raise the impedance. Check out this link for details on how to do this: xdadevelopers - External mic on Galaxy devices

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top