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.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.