ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 볼륨 조절하기
    Android 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);
    }

    });



    'Android' 카테고리의 다른 글

    TitleBar 없애기  (0) 2017.03.17
    마시멜로 권한 획득하기  (0) 2016.03.22
    NDK 테스트하기  (0) 2016.03.07
    암시적 인텐트 사용  (0) 2015.07.23

    댓글

Designed by Tistory.