개발자 승학

안드로이드 MediaPlayer mp3 재생하기 본문

it/안드로이드(android studio)

안드로이드 MediaPlayer mp3 재생하기

유승학 2018. 8. 31. 11:22

안녕하세요.


이번에는 안드로이드에서 MediaPlater 클래스를 사용하여 mp3 파일을 재생하는 방법을 알려드릴게요.


MediaPlayer는 오디오, 비디오 또는 이미지를 앱에서 실행시키는 클래스입니다.


외부 URL(스트리밍)을 통한 실행과 로컬 resource를 통한 실행이 가능합니다.


로컬 리소스에서 실행하는 예제입니다.



[Raw폴더 생성]


안드로이드 스튜디오에서




res(우클릭) -> new -> Android Resource Directory 선택합니다.


위와 같이


Directory name : raw 작성


Resource type : raw 선택


ok를 눌러줍니다.



mp3파일을 드래그 앤 드랍하거나


해당 프로젝트 폴더에 들어가셔서 넣어주시면 됩니다.


[activity_main.xml]


시작버튼과 종료버튼을 간단하게 구성해볼게요


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/start"
android:text="시작"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<Button
android:id="@+id/stop"
android:text="중지"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />


</LinearLayout>

[MainActivity.java]


public class MainActivity extends AppCompatActivity {

// MediaPlayer 객체생성
MediaPlayer mediaPlayer;

// 시작버튼
Button startButton;
//종료버튼
Button stopButton;

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

startButton = findViewById(R.id.start);
stopButton = findViewById(R.id.stop);


startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// MediaPlayer 객체 할당
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.alarm);
mediaPlayer.start();
}
});

stopButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 정지버튼
mediaPlayer.stop();
// 초기화
mediaPlayer.reset();
}
});
}


// MediaPlayer는 시스템 리소스를 잡아먹는다.
// MediaPlayer는 필요이상으로 사용하지 않도록 주의해야 한다.
@Override
protected void onDestroy() {
super.onDestroy();
// MediaPlayer 해지
if(mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
}


Comments