如何阻止麦克风被其他应用程序使用?

4

我正在开发安卓VoIP应用程序。我想确认是否有其他应用程序正在使用麦克风。通过这样做,我希望在我使用麦克风时防止其他应用程序访问它。

如果有任何人有想法,请告诉我,将非常有帮助。

谢谢。

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;
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接