Membuat Aplikasi Audio Sederhana di Android

Persiapan Layout

Berikut adalah komponen yang dipersiapkan, terdiri dari 3 buah ImageButton.

andro1

Persiapan Audio

Terlebih dahulu buatlah sebuah folder baru dengan nama “raw” di dalam folder “res”. Copy-kan audio yang akan kita jalankan ke dalam folder “raw” tersebut (melalui Windows Explorer). Refresh project di Eclipse. Update project-nya akan seperti ini:

andro2

main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?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:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10px"
        android:orientation="horizontal"
        android:gravity="center_horizontal">
        
        <ImageButton
            android:id="@+id/btnPlay"
            android:src="@drawable/play3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="0px"/>
            
        <ImageButton
            android:id="@+id/btnPause"
            android:src="@drawable/pause3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="0px"/>
            
        <ImageButton
            android:id="@+id/btnStop"
            android:src="@drawable/stop3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="0px"/>
    
    </LinearLayout>  
        
</LinearLayout>

Untuk membuat aplikasi audio, kita perlu import

1
2
3
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;

Kita juga perlu membuat objek dari Class MediaPlayer

1
2
3
private MediaPlayer mp;
mp = new MediaPlayer();

Objek-objek yang perlu diimport

1
2
3
4
5
6
7
8
9
10
11
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;

Kode Java selengkapnya, Audio.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
public class Audio extends Activity {
    /** Called when the activity is first created. */
    private ImageButton btnPlay;
    private ImageButton btnPause;
    private ImageButton btnStop;
    private MediaPlayer mp;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mp = new MediaPlayer();
        btnPlay = (ImageButton) findViewById(R.id.btnPlay);
        btnPause = (ImageButton) findViewById(R.id.btnPause);
        btnStop = (ImageButton) findViewById(R.id.btnStop);
        stateAwal();
        btnPlay.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                play();
                btnPlay.setEnabled(false);
                btnPause.setEnabled(true);
                btnStop.setEnabled(true);
            }
        });
        btnPause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pause();
            }
        });
        btnStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                stop();
            }
        });
    }
    /** State Awal / Pertama Dijalankan */
    public void stateAwal(){
        btnPlay.setEnabled(true);
        btnPause.setEnabled(false);
        btnStop.setEnabled(false);
    }
    /** Dijalankan Oleh Tombol Play */
    private void play() {
        /** Memanggil File MP3 "passion.mp3" */
        mp = MediaPlayer.create(this, R.raw.passion);
        try {
            mp.prepare();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        /** Mendajalankan Audio */
        mp.start();
        /** Penanganan Ketika Suara Berakhir */
        mp.setOnCompletionListener(new OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                stateAwal();
            }
        });
    }
    /** Dijalankan Oleh Tombol Pause */
    public void pause(){
        if(mp.isPlaying()){
            if(mp!=null){
                mp.pause();
                btnPause.setImageResource(R.drawable.play3);
            }
        } else {
            if(mp!=null){
                mp.start();
                btnPause.setImageResource(R.drawable.pause3);
            }
        }
    }
    /** Dijalankan Oleh Tombol Stop */
    public void stop(){
        mp.stop();
        try{
            mp.prepare();
            mp.seekTo(0);
        }catch (Throwable t) {
            t.printStackTrace();
        }
        stateAwal();
    }
}

Jika audio yang dijalankan sudah berakhir, maka penanganannya ada pada setOnCompletionListener.

 

SEMOGA BERMANFAAT🙂

 

Sumber : http://sharedword.wordpress.com penulis : yuliana

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s