2021.07.13 - [안드로이드] - [안드로이드] 이미지 리스트 다운로드하는 방법 DownloadManager
2021.07.23 - [안드로이드] - [안드로이드] 버튼 누르면 효과음(SoundPool) 나오게 하는 방법
이번에는 짧은 효과음이 아닌 긴 노래 재생을 할 때 쓰이는 방법을 알아보겠습니다.
(1) res -> New -> Android Resource Directory
(2) Resource type -> raw
(3) 음악 파일 넣기
생성된 raw폴더에 음악 파일(mp3)을 넣어주시면 됩니다.
예제는 wav를 넣었습니다.
버튼 3개가 있는 간단한 화면입니다.
재생, 정지, 멈춤 3가지의 기능을 가지고 있습니다.
<?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"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="play"
android:text="Play" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="pause"
android:text="Pause" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="stop"
android:text="Stop" />
</LinearLayout>
(1) 음악을 재생시키기 위해 쓰이는 MediaPlayer 객체를 생성
(2) start() 함수로 음악 재생
(3) player객체가 생성되었다면 pause() 함수로 정지
(4) player객체가 생성되었다면 release() 함수로 자원 해제
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 시작하기
* @param v
*/
public void play(View v){
if(player == null){
player = MediaPlayer.create(this, R.raw.sound2);
}
player.start();
}
/**
* 멈춤
* @param v
*/
public void pause(View v){
if(player != null){
player.pause();
}
}
/**
* 정지
* @param v
*/
public void stop(View v){
stopPlayer();
}
private void stopPlayer(){
if(player != null){
player.release();
player = null;
Toast.makeText(this, "MediaPlayer released", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onStop() {
super.onStop();
stopPlayer();
}
}
맘에 드셨다면 공감 부탁드려요문의 댓글 환영합니다. |
[안드로이드] 텍스트뷰(TextView) 다양하게 꾸며보는 방법 (0) | 2021.07.29 |
---|---|
[안드로이드] 자동완성 텍스트뷰 쉽게 만드는 방법 (0) | 2021.07.28 |
[안드로이드] 버튼 누르면 효과음(SoundPool) 나오게 하는 방법 (1) | 2021.07.23 |
[안드로이드] 이미지 리스트 다운로드하는 방법 DownloadManager (0) | 2021.07.13 |
[안드로이드] 이미지 리스트로 보여주는 방법 Picasso Recyclerview (0) | 2021.07.11 |
댓글 영역