Disable noise cancellation for microphone in Android (1.5)?
Is it possible t开发者_JAVA技巧o disable noise cancellation for the microphone in Android (specifically 1.5) via code?
I want to create a dumb MicrophoneApp that records all the background noises, but I believe that noise cancellation for the microphone is getting in the way. I know you can do it if you root your phone and edit settings (ie this article), but I want to make it without root the phone.
Noise filters in audio recording sources on Android vary greatly from device to device. It isn't until Ice Cream Sandwich that any sort of definition was put into the device compatibility document defining a method for not having filtering. That method id to use the MediaRecorder.AudioSource.VOICE_RECOGNITION audio source. Before that it's just choose a setting and hope for the best. I've found that some devices work better with MIC and some with VOICE_RECOGNITION prior to 4.0. HTC seems to have started the use fo VOICE_RECOGNITION as a no-filter zone pre-ICS.
Since there is no loop-back audio interface you can't even detect it but you can surface different audio paths to the user to choose from.
i dont think without rooting the phone you can change microphone behaviour. noise cancellation is more a function of second microphone than some software, and to alter some hardware you would require super user privileges.
Ok, noise detection and cancellation is done using two microphones and android simply differentiate both signals coming from each one of them and get the right signal of the speaker, Sony Ericsson Neo have the noise mic in the back of the phone, simply you can disable the second mic and you will get the full signal.
精彩评论