Состояние микрофона - PullRequest
       12

Состояние микрофона

0 голосов
/ 19 октября 2011

Я пишу приложение, которое использует MediaRecorder для записи звука.(Я использую Android 2.1)

  1. Перед началом записи я хочу узнать состояние микрофона (занято или нет)?
  2. Если микрофон занят, могу ли я получить к нему эксклюзивный доступ?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 07 января 2012

Ответ на 1 вопрос: Прочитав много статей, я понял, что это невозможно.

0 голосов
/ 01 октября 2016

Это старый вопрос, но я показываю, как я решаю эту проблему. Может быть, кому-то понадобится эта помощь. Примечание: это грязный способ, но он работал для меня.

Вы можете попробовать / поймать MediaRecorderObject.start (). Вы получите исключение, если микрофон занят

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();

    }
...