Android – 工具类(八):[VolumeUtil]媒体音量(获取,设置,静音)
public class VolumeUtil {
private static final String TAG = "VolumeUtil";
public static void setVolume(Context context, float value){
AudioManager manager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (manager!=null){
int maxVolume = manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int volume = (int) (value/ 100 * maxVolume);
manager.setStreamVolume(AudioManager.STREAM_MUSIC,volume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
}else {
Log.w(TAG, "AudioManager == null");
}
}
public static void muteSystem(Context context){
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager!=null){
audioManager.setStreamMute(AudioManager.STREAM_MUSIC,true);
}
}
public static void unMuteSystem(Context context){
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager!=null){
audioManager.setStreamMute(AudioManager.STREAM_MUSIC,false);
}
}
public static int getCurrentVolume(Context context){
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager!=null){
return audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
}
return -1;
}
public static void volumeUp(Context context){
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager!=null){
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
}
}
public static void volumeDown(Context context){
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager!=null){
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
}
}
public static void bootResetVolume(Context context) {
AudioManager manager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (manager != null) {
int volume = manager.getStreamVolume(AudioManager.STREAM_MUSIC);
try {
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
if (volume != manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)) {
manager.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
manager.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
} else {
manager.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
manager.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
}
}
}
}