J'écris une application Android pour stocker et gérer des mémos vocaux avec des métadonnées de base et de marquage. Lorsque vous enregistrez du son, j'utilise:Comment enregistrer du son en utilisant un casque Bluetooth
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
Cela fonctionne bien lorsque vous utilisez le téléphone normalement. Cependant, il ne détecte pas la présence d'un casque Bluetooth et utilise toujours le microphone du téléphone même lorsque le casque est branché.
J'ai également essayé d'utiliser MediaRecorder.AudioSource.DEFAULT, en espérant qu'il choisirait automatiquement la bonne source, mais aucun son n'a été enregistré du tout.
Comment puis-je a) détecter si un casque Bluetooth est branché et/ou b) utiliser un casque Bluetooth comme source audio pour l'enregistreur multimédia?
Ne pas oublier de définir les autorisations: < uses- permission android: name = "android.permission.BROADCAST_STICKY" /> –
slott
@Stephan, j'ai essayé votre méthode et cela a bien fonctionné avec haut-parleur mains libres Bluetooth. Mais quand j'ai essayé le même code dans une voiture cela n'a pas fonctionné, aucune idée si le protocole utilisé en voiture est différent de celui des haut-parleurs mains libres? – Harish
@Stephan: J'ai essayé votre code avec le bluetooth de combiné mais il enregistre seulement de mon MIC dans le téléphone. Cela ne fonctionne pas dans MIC du haut-parleur du combiné. J'utilise le haut-parleur HS3000 et la galaxie S2. C'est mon code. S'il vous plaît vérifier aidez-moi problème https://github.com/mjohn123/HeadsetRecorder – user8264