iOS has automatic gain control and a high pass filter on the mic input. You may want to disable this if doing an audio app.
Adding this to the iOSAudioIODevice will disable it.
setSessionUInt32Property(kAudioSessionProperty_Mode, kAudioSessionMode_Measurement );
And this will re-enable it.
setSessionUInt32Property(kAudioSessionProperty_Mode, kAudioSessionMode_Default);
It would be good if the AudioIODevice had a way to platform agnosticlly turn on or off any input processing.
1 Like
OBO
May 22, 2014, 1:15pm
2
That would be very useful. Can we have this method, Jules?
jules
May 24, 2014, 6:06pm
3
Ok, I've added this now - feedback on whether it works on your devices would be appreciated!
1 Like
dave-b
June 19, 2014, 1:12pm
4
Excellent tip!
Can confirm the new Juce method works on an iPad 2 running iOS 6.1.3, and an iPad Mini (Retina) running iOS 7.1.1.
It would also be helpful to be able to select AVAudioSessionModeVideoRecording, which uses the top/front microphone instead of the bottom one... This is very useful for audio recording audio apps as the top/front microphone uses directional noise reduction.
Thanks!
Steve
p-i
February 11, 2018, 7:51pm
6
For the record, it’s AudioIODevice::setAudioPreprocessingEnabled()
Link