小智 43
它们使它变得更加复杂.你可以使用AudioManager.setStreamMute().随意使用下面的代码.
//mute audio
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
amanager.setStreamMute(AudioManager.STREAM_ALARM, true);
amanager.setStreamMute(AudioManager.STREAM_MUSIC, true);
amanager.setStreamMute(AudioManager.STREAM_RING, true);
amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
//unmute audio
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);
amanager.setStreamMute(AudioManager.STREAM_ALARM, false);
amanager.setStreamMute(AudioManager.STREAM_MUSIC, false);
amanager.setStreamMute(AudioManager.STREAM_RING, false);
amanager.setStreamMute(AudioManager.STREAM_SYSTEM, false);
Run Code Online (Sandbox Code Playgroud)
小智 15
提供的答案似乎是从Android M(API 23)中弃用的,因此这提供了另一种解决方案
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);
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
Bha*_*hal 11
Android中有四种声音设置:
首先,创建一个AudioManager类的对象:
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
Run Code Online (Sandbox Code Playgroud)
如果要设置音量,请使用以下命令:
amanager.setStreamVolume(AudioManager.STREAM_NOTIFICATION,
AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);
Run Code Online (Sandbox Code Playgroud)
amanager.setStreamVolume(AudioManager.STREAM_ALARM,
AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);
Run Code Online (Sandbox Code Playgroud)
amanager.setStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);
Run Code Online (Sandbox Code Playgroud)
amanager.setStreamVolume(AudioManager.STREAM_RING,
AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27262 次 |
| 最近记录: |