首页 > 解决方案 > 无法在安卓手机上禁用麦克风

问题描述

我想创建一个应用程序,只能通过按住耳机暂停按钮让麦克风声音通过。

我正在尝试使用以下代码使麦克风静音:

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setMicrophoneMute(true);

但是当执行此代码时,麦克风仍然可以工作,任何人都可以帮我禁用麦克风吗?而且当应用程序在后台运行时,它仍然需要禁用麦克风。

标签: javaandroid

解决方案


private void setMicMuted(boolean state){
AudioManager myAudioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);

// get the working mode and keep it
int workingAudioMode = myAudioManager.getMode();

myAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);

// change mic state only if needed
if (myAudioManager.isMicrophoneMute() != state) {
    myAudioManager.setMicrophoneMute(state);
}

// set back the original working mode
myAudioManager.setMode(workingAudioMode);
}

推荐阅读