Memasukkan dan Memutar Suara atau Mp3 di Android Studio

Post kali ini kita akan membahas langkah-langkah memasukkan dan memutar suara atau mp3 di Android Studio. Pertama-tama yang perlu di lakukan adalah membuat terlebih dahulu folder untuk tempat penyimpanan suara / mp3 nya. Tipe resource folder untuk suara ini adalah "raw". Untuk membuat nya, klik kanan pada folder res > New > Android Resource Directory, pada baris pilihan Resource Type pilih raw kemudian klik OK. Berikut gambar panduan nya :

bagaimana cara membuat mp3 player di android studio
Gambar 1 : Panduan membuat folder "raw"

cara memasukkan suara atau mp3 di android studio
Gambar 2 : Panduan membuat folder "raw"

Setelah folder di buat, selanjutnya memasukkan suara atau lagu yang di inginkan. Pada contoh ini saya memasukkan 5 buah lagu. Salin satu atau beberapa suara / lagu dari komputer Anda, lalu kembali ke Android Studio, klik kanan pada folder "raw" yang baru di buat tadi kemudian pilih Paste. Untuk nama file suara atau lagu, gunakan huruf kecil dan tidak menggunakan spasi. Contoh penulisan nama file yang benar : listen_to_your_heart, loveofmylife.

Disini kita menggunakan hanya activity_main.xml dengan konteks nya MainActivity.java saja sebagai aktivitas nya. Pada activity_main.xml sendiri dalam contoh ini terdapat beberapa komponen yaitu sebuah TextView sebagai hiasan, sebuah Spinner untuk menampilkan daftar lagu-lagu nya, dan 2 buah Button yang berada di dalam sebuah LinearLayout dengan orientasi horizontal. Kedua Button ini di fungsikan untuk memutar dan memberhentikan lagu. Berikut lengkap nya pada activity_main.xml :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_music"
    tools:context=".MainActivity"
    tools:ignore="ButtonStyle">

    <TextView
        android:id="@+id/daftarLagu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="200dp"
        android:fontFamily="serif"
        android:textStyle="bold"
        android:textColor="@android:color/holo_blue_dark"
        android:text="Pilih Lagu Untuk Diputar"
        android:textSize="30dp" />

    <Spinner
        android:id="@+id/spinnerLagu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/daftarLagu"
        android:layout_centerHorizontal="true" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/spinnerLagu"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btnPlay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/holo_blue_dark"
            android:text="Play" />

        <Button
            android:id="@+id/btnStop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/holo_blue_dark"
            android:text="Stop" />
        
    </LinearLayout>

</RelativeLayout>

Setelah langkah-langkah di atas, kita beralih ke MainActivity.java. Hal pertama yang di lakukan disini adalah membuat 5 variabel untuk object atau kelas MediaPlayer, kemudian membuat String Spinner untuk nama-nama lagu nya, lalu membuat sebuah variabel untuk Integer sebagai penyama posisi item-item pada Spinner. Hal ini di perlukan nanti nya saat menerapkan klik listener pada kedua komponen Button. Berikut kode nya, di letakkan di luar dan di atas dari metode onCreate :

MediaPlayer bed, forever, listen, love, sleeping;
String [] lagu = {"Daftar Lagu","Bed of Roses", "Forever & One",
        "Listen To Your Heart","Love of My Life", "Sleeping Child"};
int urutanDiPilih;

Kemudian di dalam metode onCreate, pertama-tama memanggil folder-folder sumber dan nama file dari suara / lagu  untuk kelima variabel MediaPlayer yang di buat tadi. Selanjutnya menentukan variabel untuk Spinner, mendapatkan id nya, membuat adapter nya dan selected listener untuk item yang di pilih. Listener untuk item-item pada Spinner disini di samakan dengan variabel integer yang sudah di buat tadi. Berikut kode-kode nya :

bed = MediaPlayer.create(this, R.raw.bed_of_roses);
forever = MediaPlayer.create(this, R.raw.forever_and_one);
listen = MediaPlayer.create(this, R.raw.listen_to_yourheart);
love = MediaPlayer.create(this, R.raw.love_of_my_life);
sleeping = MediaPlayer.create(this, R.raw.sleeping_child);

Spinner spinLagu = findViewById(R.id.spinnerLagu);
ArrayAdapter ada = new ArrayAdapter<>(this,
        android.R.layout.simple_spinner_dropdown_item, lagu);
spinLagu.setDropDownWidth(350);
spinLagu.setAdapter(ada);

spinLagu.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int urutan, long id) {
       urutanDiPilih = urutan;
    }
    @Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
});

Terakhir menentukan variabel dan membuat klik listener untuk kedua komponen Button. Pada kedua Button ini kita menggunakan metode switch case untuk pergantian item-item pada Spinner. Di dalam metode Button Play, pada setiap item untuk memutar lagu ialah dengan memanggil start();, sebaliknya untuk memberhentikan nya dalam metode Button Stop ialah dengan memanggil pause(); lalu di ikuti seekTo(0);seekTo(0); akan mengembalikan lagu ke durasi awal saat di putar kembali. Berikut isi selengkapnya pada MainActivity.java :

package com.gwnbs.proyekkelima;

import androidx.appcompat.app.AppCompatActivity;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

public class MainActivity extends AppCompatActivity {

    MediaPlayer bed, forever, listen, love, sleeping;
    String [] lagu = {"Daftar Lagu","Bed of Roses", "Forever & One",
            "Listen To Your Heart","Love of My Life", "Sleeping Child"};
    int urutanDiPilih;

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

        bed = MediaPlayer.create(this, R.raw.bed_of_roses);
        forever = MediaPlayer.create(this, R.raw.forever_and_one);
        listen = MediaPlayer.create(this, R.raw.listen_to_yourheart);
        love = MediaPlayer.create(this, R.raw.love_of_my_life);
        sleeping = MediaPlayer.create(this, R.raw.sleeping_child);

        Spinner spinLagu = findViewById(R.id.spinnerLagu);
        ArrayAdapter ada = new ArrayAdapter<>(this,
                android.R.layout.simple_spinner_dropdown_item, lagu);
        spinLagu.setDropDownWidth(350);
        spinLagu.setAdapter(ada);

        spinLagu.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int urutan, long id) {
               urutanDiPilih = urutan;
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });

        Button play = findViewById(R.id.btnPlay);
        play.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (urutanDiPilih) {
                    case 1 :
                        bed.start();
                        break;
                    case 2 :
                        forever.start();
                        break;
                    case 3 :
                        listen.start();
                        break;
                    case 4 :
                        love.start();
                        break;
                    case 5 :
                        sleeping.start();
                        break;
                }
            }
        });
        Button stop = findViewById(R.id.btnStop);
        stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (urutanDiPilih) {
                    case 1 :
                        bed.pause();
                        bed.seekTo(0);
                        break;
                    case 2 :
                        forever.pause();
                        forever.seekTo(0);
                        break;
                    case 3 :
                        listen.pause();
                        listen.seekTo(0);
                        break;
                    case 4 :
                        love.pause();
                        love.seekTo(0);
                        break;
                    case 5 :
                        sleeping.pause();
                        sleeping.seekTo(0);
                        break;
                }
            }
        });
    }
}

Untuk memutar lagu, pertama dengan memilih lagu yang ada pada Spinner, kemudian menekan tombol play untuk memainkan nya. Dan jika ingin memutar lagu lain, terlebih dahulu menekan tombol stop lalu  memilih kembali lagu yang ingin di putar pada Spinner. Jika tidak menekan tombol stop terlebih dahulu saat ingin memainkan lagu lain, maka lagu-lagu tersebut akan berputar bersamaan.


Gambar 3 : Media Player hasil dari tutorial


Gambar 4 : Media Player hasil dari tutorial

Sekian dan terima kasih, jika terdapat pertanyaan silahkan di posting di komentar atau melalui contact form yang ada pada bilah samping kiri.

Comments

Post Terpopuler Sepanjang Masa

Cara Memasang Iklan Interstitial AdMob

Cara Memasang Iklan Banner AdMob di Android Studio

Aplikasi Pengingat Tugas (To Do Reminder) Android

Tutorial Menerapkan Animasi Lottie di Android Studio

Cara Merubah Package Name di Android Studio

Menampilkan Webview Pada Aplikasi di Android Studio

Cara Membuat Custom Icon Vector Asset di Android Studio