Я пишу приложение Android для хранения и управления голосовыми заметками с некоторыми базовыми метаданными и тегами. При записи звука я использую:
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(currentRecordingFileName);
// and so on
Это хорошо работает при обычном использовании телефона. Однако он не обнаруживает наличие Bluetooth-гарнитуры и по-прежнему использует собственный микрофон телефона, даже когда гарнитура подключена.
Я также попытался использовать MediaRecorder.AudioSource.DEFAULT, надеясь, что он автоматически выберет правильный источник, но тогда звук вообще не записывался.
Как я могу определить, подключена ли Bluetooth-гарнитура и/или b) использовать гарнитуру bluetooth в качестве источника звука для медиа-рекордера?