麦克风的状态

时间:2011-10-19 18:11:22

标签: android mediarecorder android-mediarecorder

我正在编写一个使用MediaRecorder录制音频的应用程序。 (我使用Android 2.1)

  1. 在开始录制之前我想知道麦克风的状态(是忙还是不忙)?
  2. 如果麦克风忙,我可以独家访问它吗?
  3. 提前致谢!

2 个答案:

答案 0 :(得分:1)

回答1个问题: 在阅读了很多文章后,我意识到这是不可能的。

答案 1 :(得分:0)

这是一个老问题,但我展示了解决这个问题的方法。也许有人需要这个帮助。注意:它很脏,但对我有用。

您可以尝试/捕捉 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();

    }