마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

seekbar를 이용해서 볼륨조절을한는데 도움부탁드립니다.

0 추천

현재 seekbar로는 볼륨조절이 잘됩니다 하지만 폰의기본볼륨조절로 up down하면 같이움직이게하고싶은데 잘안되서요.ㅠㅠ 도움을청해요,ㅠ

seekVolumn = findViewById(R.id.seekbar);
final AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
int nMax = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int nCurrentVoumn = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

    seekVolumn.setMax(nMax);
    seekVolumn.setProgress(nCurrentVoumn);
    seekVolumn.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,progress,0);
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });



} //onCreate......................................


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;
}
안드드드드드 (850 포인트) 님이 2018년 11월 6일 질문
안드드드드드님이 2018년 11월 6일 수정

1개의 답변

0 추천

폰의 볼륨키 1번당 음량 증감수치1이니 버튼한번눌릴때마다 seek바에 수치값 세팅해주며 되지않을까 싶네요.

case: KeyEvent.KEYCODE_VOLUME_UP: 

  mediaVlmSeekBar = (SeekBar) findViewById(R.id.seekBar1); 

  int index = mediaVlmSeekBar.getProgress();

  mediaVlmSeekBar.setProgress(index + 1);  
 

익명사용자 님이 2018년 11월 6일 답변
감사합니다 많은도움 되었습니다^^
...