Cara Membuat Aplikasi Pemutar Musik di Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Hallo Sobat Programmer, Berjumpa lagi dengan saya Wildan Muhammad Athoillah. Pada tutorial ini kita akan belajar membuat aplikasi pemutar musik atau audio player sederhana menggunakan Android Studio.


Secara default file .mp3 tersebut kudah kita siapkan didalam project aplikasi yang akan kita buat, Jadi tidak seperti aplikasi pemutar musik lainnya yang dapat memutar musik dari penyimpanan memori, disini kita hanya akan membuat aplikasi sederhana saja, yang dimana file musik tersebut sudah kita siapkan didalam project android kita.

Materi lainnya yang direkomendasikan:

Dalam aplikasi tersebut memiliki fitur standar seperti play, pause dan stop. Untuk penjelasan lebih lanjut cara memilih audio yang ingin dimainkan dari penyimpanan memori . Materi tersebut akan saya bahas pada tutorial selanjutnya.

Cara Membuat Aplikasi Pemutar Musik di Android Studio

1) Buka aplikasi Android Studio kalian, buat project baru.

2) Pertama-tama kalian siapkan file Audionya, beformat .mp3. Jika sudah, buat direktori baru bernama raw, caranya klik kanan pada folder res > New > Android resource directory.
Lalu ubah Resource type-nya menjadi raw, setelah itu klik OK.


3) Folder raw merupakan direktori khusus untuk menyimpan video atau musik didalam project aplikasi android. Jika sudah, berikutnya copy-paste dan simpan file musik tersebut pada direktori raw.


Penamaan file pada direktori raw, tidak boleh menggunakan huruf besar, spasi dan simbol seperti @, (), %, #, &, ^, dll.

4) Beriktunya pada activity_main.xml kalian, buat layout untuk aplikasi tersebut, disini saya menggunakan ImageView dan Beberapa Button, tapi kalian bisa menyesuaikannya sendiri.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="#000000"
tools:context="com.wildan.audioplayer.MainActivity">

<ImageView
android:id="@+id/gambar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
app:srcCompat="@drawable/vierratale"
tools:ignore="ContentDescription" />

<Button
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:text="Play"
tools:ignore="HardcodedText" />

<Button
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/play"
android:layout_centerHorizontal="true"
android:layout_marginBottom="16dp"
android:text="Pause"
tools:ignore="HardcodedText" />

<Button
android:id="@+id/stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/pause"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:text="Stop"
tools:ignore="HardcodedText" />

</RelativeLayout>
View:


5) Buka class MainActivity.java kalian, untuk persiapan, disini kita akan deklarasi dan inisialisasi MediaPlayer dan Button serta membuat beberapa method yang akan digunakan, seperti berikut ini.
package com.wildan.audioplayer;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

//Deklarasi Variable
private Button Play, Pause, Stop;
private MediaPlayer mediaPlayer;

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

//Inisialisasi Button
Play = findViewById(R.id.play);
Pause = findViewById(R.id.pause);
Stop = findViewById(R.id.stop);

//Menambahkan Listener pada Button
Play.setOnClickListener(this);
Pause.setOnClickListener(this);
Stop.setOnClickListener(this);

stateAwal();
}

//Untuk menentukan kondisi saat aplikasi pertama kali berjalan
private void stateAwal(){

}

//Method untuk memainkan musik
private void playAudio(){

}

//Method untuk mengentikan musik
private void pauseAudio(){

}

//Method untuk mengakhiri musik
private void stopAudio(){

}

@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.play:
playAudio();
break;

case R.id.pause:
pauseAudio();
break;

case R.id.stop:
stopAudio();
break;
}
}
}
6) Pada method stateAwal() digunakan untuk menentukan kondisi awal Button saat aplikasi dijalankan. Masukan source code berikut ini.
private void stateAwal(){
Play.setEnabled(true);
Pause.setEnabled(false);
Stop.setEnabled(false);
}
Kondisi awal sebelum musik dimainkan, hanya tombol play saja yang dapat diklik.

7) Berikutnya pada method playAudio(), disini kita akan menambahkan resource dari video yang akan dijalankan serta menambahkan kejadian saat audio selesai dimainkan.
//Method untuk memainkan musik
private void playAudio(){
//Menentukan resource audio yang akan dijalankan
mediaPlayer = MediaPlayer.create(this, R.raw.vierratale_cinta_beda_agama);

//Kondisi Button setelah tombol play di klik
Play.setEnabled(false);
Pause.setEnabled(true);
Stop.setEnabled(true);

//Menjalankan Audio / Musik
try{
mediaPlayer.prepare();
}catch (IllegalStateException ex){
ex.printStackTrace();
}catch (IOException ex1){
ex1.printStackTrace();
}
mediaPlayer.start();

//Setelah audio selesai dimainkan maka kondisi Button akan kembali seperti awal
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
stateAwal();
}
});
}
8) Didalam method pauseAudio(), digunakan agar musik berhenti sementara dan dapat dimainkan kembali, source codenya seperti berikut ini.
@SuppressLint("SetTextI18n")
private void pauseAudio(){

//Jika audio sedang dimainkan, maka audio dapat di pause
if(mediaPlayer.isPlaying()){
if(mediaPlayer != null){
mediaPlayer.pause();
Pause.setText("Lanjutkan");
}
}else {

//Jika audio sedang di pause, maka audio dapat dilanjutkan kembali
if(mediaPlayer != null){
mediaPlayer.start();
Pause.setText("Pause");
}
}
}
9) Method terakhir yaitu stopAudio(), didalamnya kita masuka source code untuk mengentikan audio dan menyetel status audio tersebut seperti semula
//Method untuk mengakhiri musik
private void stopAudio(){
mediaPlayer.stop();
try {
//Menyetel audio ke status awal
mediaPlayer.prepare();
mediaPlayer.seekTo(0);
}catch (Throwable t){
t.printStackTrace();
}
stateAwal();
}
Terakhir coba kalian jalankan project tersebut menggunakan emulator atau dari perangkat androidnya langsung.

Demo:


Sekian dari saya, mohon maaf bila ada kesalahan, jika ada yang ingin ditanyaka, silakan isi kolom komentar dibawah ini.

Wassalamualaikum Warahmatullahi Wabarakatuh.