Question

Je suis en train d'écrire une application qui utilise MediaRecorder pour l'enregistrement audio. (J'utilise Android 2.1)

  1. Avant de commencer l'enregistrement que je veux savoir l'état du microphone (il est occupé ou non)?
  2. Si le micro occupé, puis-je obtenir un accès exclusif à elle?

Merci à l'avance!

Était-ce utile?

La solution

Réponse à la question 1: Après avoir lu de nombreux articles, j'ai réalisé qu'il était impossible.

Autres conseils

Il est une vieille question, mais je montre la façon dont je résoudre ce problème. Peut-être que quelqu'un aura besoin de cette aide. Note:. Il est une façon de sale, mais cela a fonctionné pour moi

Vous pouvez try / catch MediaRecorderObject.start (). Vous obtiendrez une exception si le micro est occupé

MediaRecorder myAudioRecorder = new MediaRecorder();
myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myAudioRecorder.setOutputFile(outputFile);

try {
        myAudioRecorder.prepare();
        myAudioRecorder.start();

    }
    catch (Exception exception) {
        Toast.makeText(getApplicationContext(), "Mic in use", Toast.LENGTH_LONG).show();

    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top