android调节系统音量之获取和设置音量(媒体音量、通话音量和提示音量等)
import android.app.Service;
import android.content.Context;
import android.media.AudioManager;
public class VolumeUtil {
private AudioManager mAudioManager;
public VolumeUtil(){}
public VolumeUtil(Context context){
mAudioManager = (AudioManager) context.getSystemService(Service.AUDIO_SERVICE);
}
public int getMediaMaxVolume(){
return mAudioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC );
}
public int getMediaVolume(){
return mAudioManager.getStreamVolume( AudioManager.STREAM_MUSIC );
}
public int getCallMaxVolume(){
return mAudioManager.getStreamMaxVolume( AudioManager.STREAM_VOICE_CALL );
}
public int getCallVolume(){
return mAudioManager.getStreamVolume( AudioManager.STREAM_VOICE_CALL );
}
public int getSystemMaxVolume(){
return mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM );
}
public int getSystemVolume(){
return mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM );
}
public int getAlermMaxVolume(){
return mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM );
}
public int getAlermVolume(){
return mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM );
}
public void setMediaVolume(int volume){
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
volume,
AudioManager.FLAG_PLAY_SOUND
| AudioManager.FLAG_SHOW_UI);
}
public void setCallVolume(int volume){
mAudioManager.setStreamVolume( AudioManager.STREAM_VOICE_CALL,
volume,
AudioManager.FLAG_PLAY_SOUND
| AudioManager.FLAG_SHOW_UI);
}
public void setAlermVolume(int volume){
mAudioManager.setStreamVolume( AudioManager.STREAM_ALARM,
volume,AudioManager.FLAG_PLAY_SOUND
|AudioManager.FLAG_SHOW_UI);
}
public void setSpeakerStatus(boolean on) {
if (on) {
mAudioManager.setSpeakerphoneOn(true);
mAudioManager.setMode(AudioManager.MODE_NORMAL);
} else {
int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);
mAudioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, max, AudioManager.STREAM_VOICE_CALL);
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mAudioManager.setSpeakerphoneOn(false);
mAudioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL);
}
}
}