안드로이드 앱개발 스터디8 - 03 (MP3 Player)
2021. 8. 25. 05:14ㆍAndroid Studio/안드로이드 스튜디오(JAVA)
반응형
https://www.youtube.com/watch?v=-jTbUeTSAYU&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=23
안드로이드 앱 개발 강의
#22 음악 재생기 (MP3 Player)
말 그대로 음악 재생기이다. 원래는 "재생" 버튼이랑 "정지" 버튼 두 개만 있어서 "재생" 버튼을 누르면 노래가 재생되고, "정지" 버튼을 누르면 재생이 중단되는 것이다. 영상에서처럼만 만들면 심심할 것 같아서 노래도 6곡으로 하고 기능을 좀 더 추가해보았는데 그건 다음 글(MP3 Player 응용)에서 이야기 하겠다.
1. 음원 파일
res에 Android Resource Directory 폴더(raw 폴더)를 하나 만들어 준다. 그리고 MP3 파일을 만들어 준 폴더에 복사 붙여넣기 하면 된다. 이때, 파일 이름에 대문자가 들어가면 안 된다.
2. 화면 구성하기 (main_activity.xml)
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
|
<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"
android:orientation="horizontal">
<Button
android:id="@+id/btn_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="start"
android:layout_marginHorizontal="5dp"/>
<Button
android:id="@+id/btn_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="stop"
android:layout_marginRight="5dp"/>
</LinearLayout>
|
cs |
재생, 정지 버튼 두 개만 만들어 주면 된다.
3. MainActivity.java
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
30
31
32
33
34
35
36
|
public class MainActivity extends AppCompatActivity {
Button btn_stop;
Button btn_start;
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_stop = (Button)findViewById(R.id.btn_stop);
btn_start = (Button)findViewById(R.id.btn_start);
//시작 버튼 눌렀을 때
btn_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.mymusic); //raw 폴더에 넣어 놓은 mymusic이라는 음원
mediaPlayer.start(); //음원 재생
}
});
//정지버튼 눌렀을 때
btn_stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mediaPlayer.isPlaying()){ //막 종료 시키면 앱 자체가 종료될 수도 있어서 음원이 재생되고 있을 때만 음원 종료가 실행되게.
mediaPlayer.stop(); //mediaPlayer 종료
mediaPlayer.reset(); //mediaPlayer 초기화
}
}
});
}
}
|
cs |
재생 버튼과 정지 버튼을 선언해준다.
1
2
3
4
5
6
7
8
9
|
//액티비티가 종료될 때 이곳 실행
@Override
protected void onDestroy() {
super.onDestroy();
if(mediaPlayer != null){
mediaPlayer.release();
mediaPlayer = null;
}
}
|
cs |
액티비티가 종료될 때 실행되는 부분이다. mediaPlayer를 정확하게 초기화 해주는 것이다.
4. 실행
가상기기에서는 작동하지 않고 실제 휴대폰에서만 작동되는데 휴대폰 화면 녹화가 안 돼서 패스. 그냥 제일 처음에 설명한대로 START 버튼을 누르면 음원이 재생되고, STOP 버튼을 누르면 음원 재생이 중단된다.
반응형
'Android Studio > 안드로이드 스튜디오(JAVA)' 카테고리의 다른 글
안드로이드 앱개발 스터디9 - 02 (Google Map) (0) | 2021.09.04 |
---|---|
안드로이드 앱개발 스터디9 - 01 (뒤로가기 두 번 눌러 앱 종료) (0) | 2021.09.04 |
안드로이드 앱개발 스터디8 - 02 (Loading Animation) (0) | 2021.08.25 |
안드로이드 앱개발 스터디8 - 01 (Spinner) (0) | 2021.08.25 |
안드로이드 앱개발 스터디7 - 01 (MediaRecorder) (0) | 2021.08.18 |