Redirecting iPhone's sound output to the internal speaker with an external microphone
First of all I would like to say hello to everyone, since I'm a new user at this forum :) What brought me here at first place is the matter of the iPhone's internal microphone. I'm an owner of the 3GS model and, as we all know, 3GS' microphone is not sensitive enough for the speakerphone mode (much room for improvement has been left in this regard). As the microphone's sensitivity is too low for conducting conversations, it is also not sensitive enough for recording nicely sounding voice memos (the UV meter needle barely moves). As for the voice memos I have found out that a good solution is to buy one of the available external microphones. Personally, I bought the static Brando Mini Capsule Microphone which works just fine for audio recording. However, when you plug it into the mini jack, iPhone tries to redirect all sounds it makes to the headphones because it thinks it has a headset with a microphone plugged in. So now is the time for my actual question to come up:
Would it be possible to use this external microphone in the way it is meant for, and record sound with it, while redirecting all iPhone's sounds to its internal speaker? In other words, I would like use this microphone as a sort of improvement while having handsfree conversations and also, while recording lectures or anything else, be able to hear all the iPhone's sounds. In case you asked, my iPhone has the 3.1.3 firmware on board and is not jailbroken.
OK, so since I have explained what I would like to achieve, I think I could also submit what I have found so far here, so to narrow down the spectrum of solutions you could suggest. I have found out that, while using SDK, there is this type of code which redirects and restricts an application sounds to be output only through the internal speaker:
To be honest, although this code looks fairly easy on its surface, I'm not a software developer and have very little experience with programming languages. As this code should cause redirection of all the sounds of an application while implemented into it, I've been wondering if it could also be implemented into any of the iPhone's system files to redirect all the calls (outgoing/incoming, that is) to the internal speaker? If it could, then could anyone instruct me on how to use the SDK in order to do this? I should also mention, in advance, that I'm a 32bit Windows 7 user and I'm aware it could be a bit difficult to use SDK on the Windows platform, since it's dedicated for Macs and Leopard.
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; // 1
kAudioSessionProperty_OverrideAudioRoute, // 2
sizeof (audioRouteOverride), // 3
&audioRouteOverride // 4
This is, of course, one solution that I have lernt about. If there is any other solution which helps to achieve the very same results, feel free to suggest it, then.
P.S. If you, for instance, know how the increase the internal microphone's sensitivity, you can suggest it as well :)