본문 바로가기
안드로이드

안드로이드 미디어플레이어로 배경음악 재생 및 볼륨 조절 하기

by 아스키의 공부방 2020. 7. 10.
728x90
반응형

우선 리소스폴더내에 raw폴더를 만들고 원하는 배경음악을 넣어줍니다.

저는 파일명을 bgm으로 했습니다.

 

그리고 원하는 구간에 작성해줍니다.

        mediaPlayer = MediaPlayer.create(this, R.raw.bgm);
        mediaPlayer.start();
        mediaPlayer.setLooping(true);

이렇게 하면 음악이 재생됩니다.

반복 재생을 하고 싶다면 setLooping값을 true로 주면 됩니다.

 

다음은 볼륨 조절입니다.

 

필요한 xml에 SeekBar을 추가합니다.


그리고 아래와 같이 구성해줍니다.

                <SeekBar
                    android:id="@+id/seekBar_bgm"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:max="50"
                    android:progress="50" />

 

레이아웃 구성은 사람마다 다르기 때문에 max값과 progress 값만 원하는대로 변경하시면 됩니다.

 

그리고 소스는 아래와 같이 구성해주시면 됩니다.

    SeekBar seekBar_bgm;
        seekBar_bgm.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                bgm_volume = seekBar_bgm.getProgress();
                float volume = (float) (1 - (Math.log(50 - seekBar_bgm.getProgress()) / Math.log(50)));
                mediaPlayer.setVolume(volume, volume);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
        });

 

 

float volume = (float) (1 - (Math.log(맥스값 - seekBar_bgm.getProgress()) / Math.log(맥스값))); 하시면 됩니다.

 

 

728x90
반응형