볼륨 조절하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // 볼륨 낮추는 메소드 public void volumeDown(View v){ AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); // 현재 볼륨 가져오기 int volume = am.getStreamVolume(AudioManager.STREAM_MUSIC); //volume은 0~15 사이어야 함 // volume이 0보다 클 때만 키우기 동작 if(volume > 0) { am.setStreamVolume(AudioManager.STREAM_MUSIC, volume-1, AudioManager.FLAG_PLAY_SOUND); }else { Toast.makeText(getApplicationContext(), "현재 최저음량입니다.", Toast.LENGTH_SHORT).show(); } } // 볼륨 높이는 메소드 public void volumeUp(View v){ AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); // 현재 볼륨 가져오기 int volume = am.getStreamVolume(AudioManager.STREAM_MUSIC); // volume이 15보다 작을 때만 키우기 동작 if(volume < 15) { am.setStreamVolume(AudioManager.STREAM_MUSIC, volume+1, AudioManager.FLAG_PLAY_SOUND); }else { Toast.makeText(getApplicationContext(), "현재 최고음량입니다.", Toast.LENGTH_SHORT).show(); } } // 출처 : http://iamsungeun.blog.me/100191287357 | cs |

Media Volume (Music/Video etc…)
Ringtone Volume
Alarm Volume
Notification Volume
System Volume
Voicecall Volume
AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
// audioManager.setStreamVolume(볼륨컨트롤, 뷰륨크기, 볼륨상태(audioManager.FLAG...으로 시작하는 인자들...) );
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
public boolean onKeyDown(int keyCode, KeyEvent event) {
AudioManager mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP :
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_BACK:
return true;
}
return false;
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
AudioManager mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP :
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_SAME, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_SAME, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_BACK:
this.finish();
return true;
}
return false;
}
2. 화면에서 SeekBar를 통해서 조절하기
seekVolumn = (SeekBar) findViewById(R.id.SeekBar_Volumn);
final AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
int nMax = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int nCurrentVolumn = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
seekVolumn.setMax(nMax); seekVolumn.setProgress(nCurrentVolumn);
seekVolumn.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// TODO Auto-generated method stub
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
}});