我正在编写一个使用 MediaRecorder 录制音频的应用程序。(我使用安卓 2.1)
- 在开始录音之前,我想知道麦克风的状态(是忙还是忙)?
- 如果麦克风忙,我可以独占访问它吗?
提前致谢!
我正在编写一个使用 MediaRecorder 录制音频的应用程序。(我使用安卓 2.1)
提前致谢!
对1个问题的回答:阅读了很多文章后,我意识到这是不可能的。
这是一个老问题,但我展示了我解决这个问题的方法。也许有人会需要这种帮助。注意:这是一种肮脏的方式,但它对我有用。
您可以尝试/捕捉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();
}