Below is one of the possible alternative solution/approach that worked for my app targeted users.
Set category with AVAudioSessionCategoryOptions
that handles bluetooth headset integration and sound defaults to loud speakers.
if (![[[AVAudioSession sharedInstance] category] isEqualToString:AVAudioSessionCategoryPlayAndRecord]) {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:(AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionAllowBluetooth) error:&error];
NSLog(@"setCategory error = %@", error);
[[AVAudioSession sharedInstance] setActive:YES error:&error];
NSLog(@"setActive error = %@", error);
}
Note - I had to remove AVAudioSessionModeVideoChat
mode set approach since system tends to optimize the input/output system resources and thereby microphone sensitivity issue as mentioned in my question.
So far I have done some amount of testing on iPad mini and iPad 2. Still need to test on iPhones.
I hope this answer helps someone, if not me!!