4

我正在开发 android voip 应用程序。我想确定是否有任何其他应用程序正在使用麦克风。通过这个,我想防止在我使用它时从其他应用程序访问麦克风。

请任何人有想法,这对我很有帮助。

谢谢,

4

1 回答 1

1

终于知道我们可以检查麦克风的可用性如下:

private void validateMicAvailability() throws MicUnaccessibleException {
    AudioRecord recorder =
        new AudioRecord(AudioSource.MIC, 44100,
                AudioFormat.CHANNEL_IN_MONO,
                AudioFormat.ENCODING_DEFAULT, 44100);
    try{
        if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED ){
            throw new MicUnaccessibleException("Mic didn't successfully initialized");
        }

        recorder.startRecording();
        if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING){
            recorder.stop();
            throw new MicUnaccessibleException("Mic is in use and can't be accessed");
        }
        recorder.stop();
    } finally{
        recorder.release();
        recorder = null;
    }
}
于 2013-05-11T13:39:36.527 回答