본문 바로가기

major/Android

[Android] 배경음악 재생하기

안드로이드 앱에서 배경음악을 재생하고, 일시정지 하는 방법에 대해서 정리했습니다.

1. 음악 재생하기

먼저 재생할 mp3 파일을 res/raw 폴더안에 넣습니다.

raw 폴더가 없다면 res에서 오른클릭>New>Android Resource Directory를 클릭해 raw 폴더를 생성합니다.

 

New>Android Resource Directory

그리고 MediaPlayer를 사용해서 음악을 재생시킵니다.

public class MainActivity extends AppCompatActivity {

    MediaPlayer mediaPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mediaPlayer = MediaPlayer.create(this, R.raw.music);
        //mediaPlayer.setLooping(true); //무한재생
        mediaPlayer.start();
    }
}

이렇게 재생한 음악은 다른 액티비티로 넘어가더라도 음악이 끝날 때 까지 계속 재생됩니다.

여기서 mediaPlayer.setLooping(true); 코드를 추가하면, 앱이 종료될 때 까지 해당 음악을 계속 재생하게 됩니다.

실행 화면

안드로이드 에뮬레이터에서 나오는 소리가 오디오 캡쳐에 잡히지 않아서, 마이크로 녹음해 음질이 좋지 않습니다.

중간에 음악이 끊기는건 마이크로 녹음해서 그렇습니다ㅠ

 

2. 버튼으로 일시정지하기

이제 버튼을 눌리면 일시정지하고 다시 누르면 재생하도록 만들어보겠습니다.

버튼을 만들고 onClick="onClickButton"을 추가합니다.

그리고 다음 코드를 복붙합니다.

public class MainActivity extends AppCompatActivity {

    MediaPlayer mediaPlayer;
    boolean flag = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mediaPlayer = MediaPlayer.create(this, R.raw.music);
        mediaPlayer.start();
    }
    
    public void onClickButton(View view){
        if(flag) {
            mediaPlayer.pause();
            flag = false;
        } else {
            mediaPlayer.start();
            flag = true;
        }
    }
}

 

실행 화면

버튼을 클릭한게 올린 동영상에서는 잘 보이지 않네요..

다음 팟 플레이어 이후로 처음 써봐서 화질을 어떻게 좋게 올리는지 모르겠습니다.


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다:D