Is there a method that can be used to mute the global sound from an application button?
The answer provided seems to be deprecated from android M (API 23) so this is provides an alternative solution
public void MuteAudio(){
AudioManager mAlramMAnager = (AudioManager) aActivity.getSystemService(aContext.AUDIO_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager.ADJUST_MUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_ALARM, AudioManager.ADJUST_MUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_MUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_RING, AudioManager.ADJUST_MUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_SYSTEM, AudioManager.ADJUST_MUTE, 0);
} else {
mAlramMAnager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
mAlramMAnager.setStreamMute(AudioManager.STREAM_ALARM, true);
mAlramMAnager.setStreamMute(AudioManager.STREAM_MUSIC, true);
mAlramMAnager.setStreamMute(AudioManager.STREAM_RING, true);
mAlramMAnager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
}
}
public void UnMuteAudio(){
AudioManager mAlramMAnager = (AudioManager) aActivity.getSystemService(aContext.AUDIO_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager.ADJUST_UNMUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_ALARM, AudioManager.ADJUST_UNMUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_UNMUTE,0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_RING, AudioManager.ADJUST_UNMUTE, 0);
mAlramMAnager.adjustStreamVolume(AudioManager.STREAM_SYSTEM, AudioManager.ADJUST_UNMUTE, 0);
} else {
mAlramMAnager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);
mAlramMAnager.setStreamMute(AudioManager.STREAM_ALARM, false);
mAlramMAnager.setStreamMute(AudioManager.STREAM_MUSIC, false);
mAlramMAnager.setStreamMute(AudioManager.STREAM_RING, false);
mAlramMAnager.setStreamMute(AudioManager.STREAM_SYSTEM, false);
}
}
hope this helps...