Gambar 1 : Panduan membuat folder "raw" |
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>
<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.
0 comments:
Post a Comment