How to check whether microphone is used by any background app

前端 未结 3 860
情书的邮戳
情书的邮戳 2020-12-01 10:06

I have been searching for couple of days now and havent been able to find a suitable solution.

I am trying to check if any app in the background is using the microph

3条回答
  •  感动是毒
    2020-12-01 10:29

    After searching more i found the solution and i am adding it here for anyone that needs it to find it easier.

    private boolean validateMicAvailability(){
        Boolean available = true;
        AudioRecord recorder =
                new AudioRecord(MediaRecorder.AudioSource.MIC, 44100,
                        AudioFormat.CHANNEL_IN_MONO,
                        AudioFormat.ENCODING_DEFAULT, 44100);
        try{
            if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED ){
                available = false;
    
            }
    
            recorder.startRecording();
            if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING){
                recorder.stop();
                available = false;
    
            }
            recorder.stop();
        } finally{
            recorder.release();
            recorder = null;
        }
    
        return available;
    }
    

提交回复
热议问题