Membuat PlayBack Play dan Stop untuk MediaPlayer dalam Android

Contoh Kasus:

Saya ingin membuat tampilan seperti terlihat pada gambar dibawah ini:

Permintaan:

Pada saat tombol Play ditekan maka musik dijalankan lalu pada saat tombol Stop ditekan maka musik diPause, lalu jika tombol Play ditekan lagi maka musik dijalankan dari posisi saat musik di Pause.

Pada saat pertama kali layar tampil maka tampilkan log dari durasi file mp3 seperti terlihat pada gambar dibawah ini:

Pada saat tombol Play atau Stop ditekan maka tampilkan log posisi musik seperti terlihat pada gambar dibawah ini:

Pada Saat Musik selesai dimainkan maka MediaPlayer kembali ke posisi 0.

Pertanyaan:

Bagaimana cara membuatnya … ?

Jawaban:

Buatlah sebuah Projek Android bernama PlaybackAudio dengan nama activity PlaybackAudio.

Perubahan File main.xml

<?xml version=”1.0″ encoding=”utf-8″?> 

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”   >

<Button

android:id=”@+id/play”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”Play”        />

<Button

android:id=”@+id/stop”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”Stop”

android:layout_toRightOf=”@id/play”        />

</RelativeLayout>

Perubahan pada Activity

public class PlaybackAudio extends Activity implements  OnCompletionListener, OnClickListener{ 

MediaPlayer mp;

Button btPlay, btStop;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

btPlay=(Button)findViewById(R.id.play);

btStop=(Button)findViewById(R.id.stop);

mp=MediaPlayer.create(this, R.raw.butiran_debu_rumor);

mp.setOnCompletionListener(this);

Log.d(“Durasi Musik”, “”+mp.getDuration());

btPlay.setOnClickListener(this);

btStop.setOnClickListener(this);

}

public void onCompletion(MediaPlayer musikPlayer){

mp.seekTo(0);

}

public void onClick(View v){

if(v==btPlay){

Log.d(“Posisi saat diPlay”, “”+mp.getCurrentPosition());

mp.start();

}else if(v==btStop){

mp.pause();

Log.d(“Posisi saat diStop”, “”+mp.getCurrentPosition());

}

}

public void onStop(){

super.onStop();

mp.stop();

mp.release();

}

}

Keterangan:

  • Log.d() adalah metode yang digunakan untuk membuat log.
  • mp.getDuration(), Kode ini digunakan untuk mengambil durasi dari file musik yang dimainkan.
  • mp.getCurrentPosition(), kode ini digunakan untuk mengambil posisi dari musik yang dimainkan.
  • mp.seekTo(0), Kode ini berarti MediaPlayer akan kembali ke posisi 0.
  • Untuk pengertian onCompletion maka kamu bisa lihat artikel ini.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *