Android memiliki banyak sekali fungsi, Class, maupun import header yang dibutuhkan untuk proses development aplikasi. Setiap fungsi pada pemrograman Java Android juga memiliki parameter tertentu untuk menentukan kondisi yang pas dengan aplikasi. Misalnya pada kasus Audio di Android, kita bisa memilih apakah Audio tersebut diputar secara looping (terus menerus) atau cukup satu kali putar.
Pada implementasi kali ini, penulis akan mencoba membagikan beberapa penjelasan dan fungsi parameter tambahan untuk class MediaPlayer, yang pada tutorial sebelumnya telas kita bahas dalam pemanfaatan pembuatan background musik di dalam sebuah aplikasi Android. Silahkan lihat tutorialnya disini.
Sebelum memulai penjelasan, pembaca dapat memperhatikan dahulu pada tutorial sebelumnya, bahwa setiap kita akan menggunakan fungsi tertentu, kita diwajibkan melakukan import Class bawaan Android. Misalnya untuk MediaPlayer kita diwajibkan melakukan import android.media.MediaPlayer pada header aplikasi.
package com.mkhuda.testaudio; import android.media.MediaPlayer; ....
Tanpa melakukan import tersebut, mustahil aplikasi pembaca dapat didebug pada perangkat. Karena akan terjadi banyak sekali error. Oleh karena itu, pemanggilan Class tertentu pada setiap Activity adalah hal penting yang perlu pembaca pelajari.
Audio Looping
Jika pembaca sering membuka game atau aplikasi yang memiliki background musik, bisa dipastikan musik atau audio tersebut diberi parameter looping. Setiap kali musik selesai, misal dalam rentang waktu 1 menit, maka sistem akan otomatis melakukan pemutaran kembali dari awal.
Pada fungsi MediaPlayer di aplikasi android, untuk melakukan looping pembaca bisa menggunakan fungsi berikut :
homeMusic = MediaPlayer.create(this, R.raw.home); homeMusic.setLooping(true); // Set looping
Fungsi setLooping memiliki nilai boolean “true“, berarti sistem akan otomatis melakukan looping.
Perlu diperhatikan, looping dengan nilai true sangat cocok diaplikasikan untuk penggunaan background musik pada game. Sedangkan untuk membunyikan klik Button, pengguna dapat menggunakan setLooping dengan nilai “false”. Berikut adalah contoh sederhana pada button :
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b1 = (Button) findViewById(R.id.playButton); b1.setOnClickListener(this); playSound = MediaPlayer.create(this, R.raw.play); playSound.setLooping(false); // Set looping playSound.setVolume(1,1); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.playButton: playSound.start(); break; } }
Ketika button di klik, pada kasus diatas adalah playButton, maka fungsi playSound.start(); akan membunyikan sound dengan nilai paramater looping “false” yang telah didefinisikan di dalam onCreate.
Parameter lain
Beberapa parameter lain yang dapat pembaca pakai untuk memanipulasi mediaplayer atau sound di aplikasi Android diantaranya adalah :
- .create(this, R.raw.nama_file_audio); fungsi .create akan memanggil file audio di dalam folder raw, sesuai nama file audio yang diset.
- .stop(); untuk menghentikan suara.
- .setVolume(1, 1); artinya volume akan disesuaikan dengan pengaturan volume gadget. jika pembaca memberi nilai (0, 0) sama artinya dengan menghilangkan volume suara.
- .pause(); akan menghentikan untuk sementara audio, dan
- .play(); akan melanjutkan kembali audio.