Pada bagian ini kita akan membuat
aplikasi android yang berfungsi seperti untuk memutar file audio/lagu.
Persiapkan tiga buah icon seperti berikut:
untuk image button pause lagu.
Gambaran
untuk desain aplikasi ini adalah seperti berikut:
Kita
memerlukan import media player android
untuk dapat memainkan musik di android. Import
tersebut
adalah sebagai berikut.
import
android.media.MediaPlayer;
dan kita dalam coding menggunakan teknik implements
serta mendefinisikan variabel sebagai
Media Players seperti coding berikut:
public class music extends Activity
implements
MediaPlayer.OnCompletionListener {
private ImageButton play;
private ImageButton pause;
private ImageButton stop;
private
MediaPlayer mp;
sementara untuk melakukan inisialisasi icon dengan fungsi play, pause, stop serta inisialisasi click terhadap icon didefinisikan
seperti berikut:
public void onCreate(Bundle
icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
play=(ImageButton)findViewById(R.id.play);
pause=(ImageButton)findViewById(R.id.pause);
stop=(ImageButton)findViewById(R.id.stop);
play.setOnClickListener(new
View.OnClickListener() {
public void onClick(View
view) {
play();
}
});
pause.setOnClickListener(new
View.OnClickListener() {
public void onClick(View
view) {
pause();
}
});
stop.setOnClickListener(new
View.OnClickListener() {
public void onClick(View
view) {
stop();
}
});
setup();
}
sementa method setup() berisi seperti berikut:
private void setup() {
loadClip();
play.setEnabled(true);
pause.setEnabled(false);
stop.setEnabled(false);
}
sementara untuk meng-handle apabila dilakukan click
terhadap icon akan memanggil salah
satu fungsi-fungsi berikut:
private void play() {
mp.start();
play.setEnabled(false);
pause.setEnabled(true);
stop.setEnabled(true);
}
private void stop() {
mp.stop();
pause.setEnabled(false);
stop.setEnabled(false);
try {
mp.prepare();
mp.seekTo(0);
play.setEnabled(true);
}
catch (Throwable t) {
goBlooey(t);
}
}
private void pause() {
mp.pause();
play.setEnabled(true);
pause.setEnabled(false);
stop.setEnabled(true);
}
Masukkan file
mp3 ke dalam foleder raw di project android kita dan akan di-load dengan fungsi seperti berikut:
private void loadClip() {
try {
mp=MediaPlayer.create(this, R.raw.himne_mdp);
mp.setOnCompletionListener(this);
}
catch (Throwable t) {
goBlooey(t);
}
}
Dari coding di atas bahwa sample mp3
yang akan di-load adalah mp3 dengan
nama file himne_mdp. Apabila Anda
ingin mengganti bisa dengan memasukkan file
mp3 yang anda sukai.
Berdasarkan layout tampilan aplikasi pemutar musik di atas, kita memerlukan
tiga definisi image button dalam layout xml kita yaitu:
ImageButton
Play
<ImageButton android:id="@+id/play"
android:src="@drawable/play"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4px"
android:enabled="false"/>
ImageButton
Pause
<ImageButton android:id="@+id/pause"
android:src="@drawable/pause"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4px"/>
ImageButton Stop
<ImageButton android:id="@+id/stop"
android:src="@drawable/stop"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4px"/>
Selengkapnya file layout xml kita adalah sebagai berikut:
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="4px"
>
<ImageButton android:id="@+id/play"
android:src="@drawable/play"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4px"
android:enabled="false"
/>
<TextView
android:text="Play"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="4px"
>
<ImageButton android:id="@+id/pause"
android:src="@drawable/pause"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4px"
/>
<TextView
android:text="Pause"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="4px"
>
<ImageButton android:id="@+id/stop"
android:src="@drawable/stop"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingRight="4px"
/>
<TextView
android:text="Stop"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</LinearLayout>
</LinearLayout>
Sedangkan file music.java selengkapnya adalah sebagai berikut.
music.java
package com.immobulus.music;
import
android.app.Activity;
import
android.app.AlertDialog;
import
android.media.MediaPlayer;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.ImageButton;
public class music extends Activity
implements
MediaPlayer.OnCompletionListener {
private ImageButton play;
private ImageButton pause;
private ImageButton stop;
private MediaPlayer mp;
@Override
public void onCreate(Bundle
icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
play=(ImageButton)findViewById(R.id.play);
pause=(ImageButton)findViewById(R.id.pause);
stop=(ImageButton)findViewById(R.id.stop);
play.setOnClickListener(new
View.OnClickListener() {
public void onClick(View
view) {
play();
}
});
pause.setOnClickListener(new
View.OnClickListener() {
public void onClick(View
view) {
pause();
}
});
stop.setOnClickListener(new
View.OnClickListener() {
public void onClick(View
view) {
stop();
}
});
setup();
}
@Override
public void onDestroy() {
super.onDestroy();
if (stop.isEnabled()) {
stop();
}
}
public void
onCompletion(MediaPlayer mp) {
stop();
}
private void play() {
mp.start();
play.setEnabled(false);
pause.setEnabled(true);
stop.setEnabled(true);
}
private void stop() {
mp.stop();
pause.setEnabled(false);
stop.setEnabled(false);
try {
mp.prepare();
mp.seekTo(0);
play.setEnabled(true);
}
catch (Throwable t) {
goBlooey(t);
}
}
private void pause() {
mp.pause();
play.setEnabled(true);
pause.setEnabled(false);
stop.setEnabled(true);
}
private void loadClip() {
try {
mp=MediaPlayer.create(this, R.raw.himne_mdp);
mp.setOnCompletionListener(this);
}
catch (Throwable t) {
goBlooey(t);
}
}
private void setup() {
loadClip();
play.setEnabled(true);
pause.setEnabled(false);
stop.setEnabled(false);
}
private void
goBlooey(Throwable t) {
AlertDialog.Builder
builder=new AlertDialog.Builder(this);
builder
.setTitle("Exception!")
.setMessage(t.toString())
.setPositiveButton("OK", null)
.show();
}
}
Sumber: PEMROGRAMAN APLIKASI MOBILE SMARTPHONE DAN TABLET PC
BERBASIS ANDROID. oleh : Nazruddin Safaat H
Tidak ada komentar:
Posting Komentar