下面列出了android.media.AudioManager#adjustStreamVolume ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_volume:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_SAME, AudioManager.FLAG_SHOW_UI);
break;
/*case R.id.equalizer_enabled:
Switch switch_item = item.getActionView().findViewById(R.id.switch_item_view);
MusicService.isEqualizerEnabled = switch_item.isChecked();
setEqualizerLayout();
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("equalizer_enabled",MusicService.isEqualizerEnabled);
editor.apply();
break;*/
}
return super.onOptionsItemSelected(item);
}
/**
* 调整音量
*
* @param increase true=增加百分之20 false=减少百分之20
*/
public String ajustVol(boolean increase, int progress) {
AudioManager mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
float max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
currentVolume = (int) (currentVolume + max * (progress / 100.0f) * (increase ? 1 : -1));
if (currentVolume < 0)
currentVolume = 0;
else if (currentVolume > max)
currentVolume = (int) max;
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, 0);
//弹出系统媒体音量调节框
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME, AudioManager.FLAG_PLAY_SOUND
| AudioManager.FLAG_SHOW_UI);
NumberFormat nf = NumberFormat.getPercentInstance();
//返回数的整数部分所允许的最大位数
nf.setMaximumIntegerDigits(3);
//返回数的小数部分所允许的最大位数
// nf.setMaximumFractionDigits(2);
return nf.format(currentVolume / max);
}
@Override
public void onVolumnUp() {
if (null != mActivity) {
AudioManager audioMa = (AudioManager) mActivity
.getSystemService(Context.AUDIO_SERVICE);
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.isFullScreen) {
audioMa.adjustVolume(AudioManager.ADJUST_SAME,
AudioManager.FLAG_PLAY_SOUND);
} else {
audioMa.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
}
}
@Override
public void onVolumnUp() {
if (null != mActivity) {
AudioManager audioMa = (AudioManager) mActivity
.getSystemService(Context.AUDIO_SERVICE);
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.isFullScreen) {
audioMa.adjustVolume(AudioManager.ADJUST_SAME,
AudioManager.FLAG_PLAY_SOUND);
} else {
audioMa.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
}
}
@Override
public void onVolumnDown() {
if (null != mActivity) {
AudioManager audioMa = (AudioManager) mActivity
.getSystemService(mActivity.AUDIO_SERVICE);
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.isFullScreen) {
audioMa.adjustVolume(AudioManager.ADJUST_SAME,
AudioManager.FLAG_PLAY_SOUND);
} else {
audioMa.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
}
}
@Override
public void onVolumnUp() {
if (null != mActivity) {
AudioManager audioMa = (AudioManager) mActivity
.getSystemService(Context.AUDIO_SERVICE);
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.isFullScreen) {
audioMa.adjustVolume(AudioManager.ADJUST_SAME,
AudioManager.FLAG_PLAY_SOUND);
} else {
audioMa.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
}
}
@Override
public void onVolumnDown() {
if (null != mActivity) {
AudioManager audioMa = (AudioManager) mActivity
.getSystemService(mActivity.AUDIO_SERVICE);
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.isFullScreen) {
audioMa.adjustVolume(AudioManager.ADJUST_SAME,
AudioManager.FLAG_PLAY_SOUND);
} else {
audioMa.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
}
}
/**
* 调节系统音量
*
* @param context
*/
public static void holdSystemAudio(Context context) {
AudioManager audiomanage = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
// 获取系统最大音量
// int maxVolume = audiomanage.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 获取当前音量
// int currentVolume = audiomanage.getStreamVolume(AudioManager.STREAM_RING);
// 设置音量
// audiomanage.setStreamVolume(AudioManager.STREAM_SYSTEM, currentVolume, AudioManager.FLAG_PLAY_SOUND);
// 调节音量
// ADJUST_RAISE 增大音量,与音量键功能相同
// ADJUST_LOWER 降低音量
audiomanage.adjustStreamVolume(AudioManager.STREAM_SYSTEM, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
}
@Override
public void onVolumnDown() {
if (null != mActivity) {
AudioManager audioMa = (AudioManager) mActivity
.getSystemService(mActivity.AUDIO_SERVICE);
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.isFullScreen) {
audioMa.adjustVolume(AudioManager.ADJUST_SAME,
AudioManager.FLAG_PLAY_SOUND);
} else {
audioMa.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
}
}
/**
* 控制指定声音流音量, 调大或者调小一个单位
* <pre>
* AudioManager.ADJUST_LOWER 可调小一个单位
* AudioManager.ADJUST_RAISE 可调大一个单位
* </pre>
* @param streamType 流类型
* @param direction 音量方向 ( 调大、调小 )
* @return {@code true} success, {@code false} fail
*/
public static boolean adjustStreamVolume(final int streamType, final int direction) {
AudioManager audioManager = AppUtils.getAudioManager();
if (audioManager != null) {
try {
audioManager.adjustStreamVolume(streamType, direction, 0);
return true;
} catch (Exception e) {
LogPrintUtils.eTag(TAG, e, "adjustStreamVolume");
}
}
return false;
}
@Override
public void changeMediaVolume(int percent) {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
mCurrentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int volume = (int) ((percent / 100.0) * maxVolume + 0.5);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME, AudioManager.FLAG_PLAY_SOUND
| AudioManager.FLAG_SHOW_UI);
}
private void volumeUp() {
AudioManager audio = (AudioManager) MBApp.getApp().getSystemService(Context.AUDIO_SERVICE);
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
/*
scheduleMediaKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_VOLUME_UP, 0);
scheduleMediaKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_VOLUME_UP, 100);
*/
}
/**
* 调整程序声音类型为媒体播放声音,并且与媒体播放声音大小一致
*
* @param context
*/
public static void adjustVoiceToSystemSame(Context context) {
AudioManager audioManager = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_SAME, 0);
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_RING,AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return "Executed";
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return "Executed";
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return "Executed";
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_RING,AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return "Executed";
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return "Executed";
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return "Executed";
}
@Override
protected String doInBackground(String... params) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(AudioManager.STREAM_RING,AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return "Executed";
}