I have an application that records ambient audio from room and detects audio events – the app listens for the break shot of a pool player and performs timing calculations to provide cue-ball speeds.
The problem is that the app fails regularly on the new iPhone 4. I’m pretty sure it’s the device and not the OS because the app continues to work fine on an iPod running iOS 4. This leads me to believe that the problem is related to the new noise suppression mic. The break shot is pretty loud, will echo and so it makes sense that this is the case.
I’ve noticed that if I plug an external mic (say, the earbuds) into an iPhone 4 device, the problem goes away.
Is there a way to disable the noise suppression microphone while using the built-in mic? I’ve tried using AudioQueues and RemoteIO, both of which continue to be plagued by this issue. When answering, please bear in mind that I’m not an expert at Core Audio (we had a very short deadline for developing the app and didn’t have time to learn all the ins and outs of the APIs.)
Many thanks to anybody willing to point me in the right direction!