I just got a Nexus 4 recently and I've been racking my brain with what on earth is happening with the microphone.
The problem is that the microphone WORKS PERFECTLY when doing a google search, voice call in normal mode, or voice recording. It does not work at all if I enable the speakerphone during a voice call. This seems to be exactly the opposite problem that others are having with the Nexus 4. I can still hear the person in the call but when I talk, they can't hear me. Not even white noise, just total and utter silence.
I have tried 2 flex cables (trying replaced the initial one whose microphone didn't work at all, at the time I had CM11) and tried flashing everything (baseband, recovery, system) to stock 4.2.2, tested it with no luck. I then flashed everything with the latest version 4.4 off google's developer section and tested with the same issues. I've tried factory resets, unplugging the headphones, and also soundabout and nothing resolves the issue.
When I look at the flex cable and the phone housing, it seems to me that there is only one microphone on the bottom. On the top, there is the noise canceling mic, but I don't think this has anything to do with the speakerphone. Am I wrong? Does anyone have any thoughts or suggestions? I don't know whether this is a hardware problem or some low level software issue.
I noticed something super strange. If I plug a headphones w/ a mic into the headphone jack, I can actually hear very loudly and in great detail the friction from my fingers moving up and down anywhere the case of the phone, and if I tap on the body of the phone (anywhere, even near the USB port on the bottom) it's like stuffing paper into your ear canals. I can still hear the person on the other end fine, and they can also hear just as clear and loud when I touch the phone body. This phone is a science experiment now. The closer I move my fingers to the bottom of the phone near the mic, the louder it gets.