Android

볼륨 조절하기

top2blue 2015. 8. 18. 10:21
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…)

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);  

Ringtone Volume

this.setVolumeControlStream(AudioManager.STREAM_RING);  

Alarm Volume

this.setVolumeControlStream(AudioManager.STREAM_ALARM);  

Notification Volume

this.setVolumeControlStream(AudioManager.STREAM_NOTIFICATION);  

System Volume

this.setVolumeControlStream(AudioManager.STREAM_SYSTEM);  

Voicecall Volume

this.setVolumeControlStream(AudioManager.STREAM_VOICECALL);  
 
사용위치
onResume()

AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

// audioManager.setStreamVolume(볼륨컨트롤, 뷰륨크기, 볼륨상태(audioManager.FLAG...으로 시작하는 인자들...) );

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);

 

1. 볼륨 조절 버튼으로 조절 하기.
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);
}

});