Forçando o MediaRecorder a usar o microfone interno
Estou usando algo assim para iniciar a gravação de áudio:
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile("/dev/null");
recorder.prepare();
recorder.start();
Eu quero sempre gravar do microfone interno. Usando o código acima, a fonte de áudio muda para o microfone externo assim que um é conectado. Eu olhei os documentos e não consigo encontrar uma maneira de definir um microfone preferido.