Tutorial android kali ini akan membahasa Belajar Play Sound di android. Pada Android juga punya kelebihan dalam hal memainkan suara. Untuk memainkan suara diandroid sudah disediakan library yang namanya MediaPlayer dengan library ini kita dengan mudah memainkan sebuah file suara. Misalnya saja file mp3.
Kalau kita dapat menguasai cara memainkan suara di android, kita selangkah didepan untuk membuat aplikasi android yang didalamnya ada suaranya.
Dimarket banyak aplikasi yang menggunakan suara. Terutama untuk Aplikasi atau game untuk anak-anak. Misalnya aplikasi mengenal buah, mengenal huruf, mengenal angka. Biasanya konsep kerjanya ada gambar dan apabila gambarnya kita sentuh akan mengeluarkan suara.
Pada kesempatan kali ini kita akan membuat aplikasi mengenal Suara Binatang. Agar tidak direpotkan dengan persiapan gambar. Kita gunakan button untuk memilih suara binatang yang akan kita mainkan.
Suara bianatang yang ada aplikasi ini adalah Bird (Burung), Frog (katak) dan Cat (Kucing). Untuk itu kita perlu menyiapkan file mp3 suara binatang tersebut. Untuk suara-suara bianatangnya bisa download di http://simplythebest.net/sounds/MP3/sound_effects_MP3/animals_mp3.html
Setelah semua siap mari kita melangkah bagian pemrogramannya.
1. Buka senjata kita untuk develop android yaitu eclipse, kemudian buat new project dengan nama BelajarAudio
Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat, yaitu
- main.xml
- string.xml
- PlayAudio.java
2. edit file main.xml, isi dengan kode 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"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/bird" android:text="Bird"></Button> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/frog" android:text="Frog"></Button> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/cat" android:text="Cat"></Button> </LinearLayout>
Pada main.xml ini kita membuat 3 buah button yaitu bird, frog dan cat nantinya apabila button ini ditekan akan memainkan suara.
3. edit file string.xml, isi dengan kode berikut
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Press Button to Play Animal Sound!</string> <string name="app_name">BelajarAudio</string> </resources>
4. pada directory res buat directory baru dengan nama raw
kemudian letakan file-file suara yang telah kita siapakan pada directory tersebut.
Disini terlihat kita sudah meletakkan 3 file suara yaitu bird.mp3 , cat.mp3 dan frogs.mp3
5. Sekarang kita ke otak dari apalikasi ini, edit file PlayAudio.java, isikan dengan kode berikut
package com.agus.audio; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class PlayAudio extends Activity { private static final String isPlaying = "Media is Playing"; private MediaPlayer player; private Button birdButton; private Button frogButton; private Button catButton; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Get the button from the view birdButton = (Button) this.findViewById(R.id.bird); birdButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub playSound(1); } }); frogButton = (Button) this.findViewById(R.id.frog); frogButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub playSound(2); } }); catButton = (Button) this.findViewById(R.id.cat); catButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub playSound(3); } }); } @Override public void onPause() { try{ super.onPause(); player.pause(); }catch (Exception e){ } } private void playSound(int arg){ try{ if (player.isPlaying()) { player.stop(); player.release(); } }catch(Exception e){ Toast.makeText(this, " Masuk Exception", Toast.LENGTH_LONG).show(); } if (arg == 1){ Toast.makeText(this, isPlaying+" Bird", Toast.LENGTH_LONG).show(); player = MediaPlayer.create(this, R.raw.bird); }else if (arg==2){ Toast.makeText(this, isPlaying+" Frogs", Toast.LENGTH_LONG).show(); player = MediaPlayer.create(this, R.raw.frogs); }else if (arg==3){ Toast.makeText(this, isPlaying+" Cat", Toast.LENGTH_LONG).show(); player = MediaPlayer.create(this, R.raw.cat); } player.setLooping(false); // Set looping player.start(); } }
Disini telihat kita menggunakan library MediaPlayer untuk memainkan suara.
Beberapa method dari MediaPlayer yang kita gunakan dalam aplikasi ini
Method | Keterangan |
create | Untuk mendaftarkan file suara yang ingin dimainkan |
start | Untuk memulai memainkan file suara |
stop | Untuk menghentikan file suara |
setLooping | Menentukan apakah berulang atau tidak |
pause | Untuk mempause file suara yang sedang dimainkan |
isPlaying | Untuk mengetahui media player sedang memainkan file suara atu tidak |
Bagian utama yang memainkan file suara ada pada method playSound yang akan dipanggil
ketika user menekan salah satu button, disini akan dicek butom mana yang ditekan sehingga
file suara yang dimainkan sesuai dengan button yang ditekan.
Coba perhatikan pada bagian awal method playSound
try{ if (player.isPlaying()) { player.stop(); player.release(); } }catch(Exception e){ Toast.makeText(this, " Masuk Exception", Toast.LENGTH_LONG).show(); }
Disini kita memasang sebuah penanganan exception. Karena kalau kita tidak buat penanganannya dapat menyebabkan error sehingga aplikasi akan “Force to Close”, yang masuk kedalam exception ini hanya pada saat pertama kali kita menekan salah satu button. Setelah itu tidak akan pernah masuk ke exception ini.
6. Sekarang mari kita jalankan programnya.
Terlihat 3 Buah button, tekan button Bird maka akan terdengar suara burung.
Tekan button Frog akan terdengar suara katak, tekan button Cat akan terdengar suara kucing.
Nah mudahkan membuat aplikasi yang memainkan suara diandroid. Tapi jangan berpuas diri karena kalau aplikasinya hanya seperti ini kurang gregetnya. untuk itu cobalah buat yang menggunakan Gambar yang apabila Gambar diklik akan mengeluarkan suara. Jadi Anak-anak dapat lebih bisa menghafalnya.
Jika baru mulai belajar android dianjurkan untuk membaca tutorial Aplikasi Android Sederhana - Menghitung Luas Persegi Panjang
Semoga bermanfaat
Salam Hangat
Agus Haryanto
sumber:
http://developer.android.com
kalo cara menampilkan gambarnya gimana mas kayaknya belum ada tutorialnya gimana dhong ?
wah request ane akhirnya dibikin juga
makasi gan 😀
mas agus, minta contohnya e learning dong mas
buat tugas
makasiih yaa
^-^
waduh ko masih ada yang error yah padahal semuanya sudah diikutin,, kenapa yah mas ?
@renaldo, errornya apayah, lalu apakah file *.mp3 sudah diletakkan didirectory raw
@sheila, elearning, bisa dijelaskan konsep elearningnya.
Usul mas gimana kalo aplikasi di atas di tambahin button buat search file mp3 nya gitu
mas saya udah coba, tpi error d.sni :
The method onClick(View) of type new View.OnClickListener(){} must override a superclass method PlayAudio.java
knpa ya?? mksud erornya apa.. mohon bimbingannya..
error disini mas.
public void onClick(View arg0) {
// TODO Auto-generated method stub
playSound(1);
trus muncul ini
Multiple markers at this line
– implements android.view.View.OnClickListener.onClick
– The method onClick(View) of type new View.OnClickListener(){} must override a superclass
method
wah, sudah bisa mas, gausah pake @override lagi . hehe.
Mas, klo misale coding buat quiz gitu tp pemunculan soalnya yang random gimana ya??, mohon bantuannya mas
Mas, klo misalkan suaranya di taroh di folder lain bisa ngk? Tapi masih dalam satu folder src.
Maksud saya res, bukan src. Ralat ya… hehehe…
mantap gan agus tutorialnya.
thanks
mas..
kalo lita ingin buat alarm gmn??
mohon bantuannya y..
Mas, bikinin dong tutorial supaya pas klik gambar bisa langsung play sound-nya :p
mas kok masih error yah perintahnya “raw cannot be resolved or is not a field” mohon saranya thx….
mas kalo mau cari suara-suara alfabet dimana ya?
makasih mas,,,,
saya sangat terbantu sekali….
langsung coba ahhh
makasih mas.. kalo saya bikin TUner Gitar di http://omayib.com/?p=669
@sadikin, Kalau yang versi indonesia buat sendiri aja mas, suara mas direkam. atau mau hasil rekaman saya 🙂
iya mas gapapa ko rekaman suara mas aja… tapi suaranya yang imut2 ya mas kya anak kecil ….hehehe…
gan klo file suarany d jdiin array bsa g???
ane mw munculn suara brdsarkan gallery yg d liat, misal kyk tutorial agan yg gallery buah, jadi klo pas liat gbrr buah apel muncul suara “ini adalah apel atau apalah”, gmna y tuh kira2?????
mohon bntuanny y.. 😀
g jd gan, udah bsa, jgn lupa mmpir k klikti.blogspot.com y.. 😀
mas agus
gmana ya cara naro vidio di project Android??
mohon pencerahannya
mas, mau tanya kalo ngeplay suara berdasarkan filename suaranya gimana yaa?
terima kasih.
ko aku coba error di
private MediaPlayer player;
knp tu pak?
eeeh ga jd..ternyata ada yg kurang..hehe
tapi kan saya coba 2 button,yang pertama ga bisa,yang kedua bisa..knp ya pak?
mas semuanya udah saya ikutin tapi ada error di import android.view.KeyEvent;
katanya The import android.view.KeyEvent is never used
mas saya newbie pengen banget belajar android, minta tutorial2 dan kebetulan saya pengen membuat enkripsi video yang ditanam di android, kalo boleh minta dong contohnya terima kasih, tutor or ebooknya di tunggu ya mas repplay to email makasih…..
makasi yaaa mas, tutorialnya sangat berguna
mas klo mau tambahin pengaturan volume gmn ?
Mas kok masih ada yg error yg ini mas
1. @Override
2. player = MediaPlayer.create(this, R.raw.cat);(klo ini di R.raw.cat nya)
makasih banyak mas agus…
sangat bermanfaat
alhamdulillah, ketemu site nya mas agus yg bagus-bagus
kebetulan lagi belajar android,
mau tanya mas, klo button itu bisa di custom sizenya ga?
atau memang selalu penuh seukuran layar? 🙂
@alfin, tentu bisa, coba explore lebihjauh tentang property button pada android
mas,, request buat riview cara mudah membuat aplikasi android dengan tema “music media player”.. yang sederhana aja mas… makasihh moga bisa bantu
mas kalau mau membuat array untuk suara gimana script nya ya
mas, itu biar bisa pause, trus pas dipencet tombol play lagi ga ngulang dari awal gimana codingnya ya?
Mas, saya membuat software Juz ama player, saya mau tanya soal project ini, saya kembangkan dengan suara lain, Saya menggunakan Emulator Android dan ketika saya klik rekamannya terkadang muncul suaranya(normal), nah terkadang tidak muncul suaranya, “Media is Playing”, tetapi tidak ada suaranya, itu kenapa mas, tolong dijawab??
Mas Agus , kalau bentuk button nya itu bulat – bulat , apa yang harus di ubah ??? Kebetulan saya ingin membuat interface dan fungsi sebagaimana drum set musik
ada error di player = MediaPlayer.create(this, R.raw.bird); katanya R.raw cannot be resolved ,mohon bantuanya karena ini menyangkut tugas PI saya ,terima kasih
asyikkk.. udah belajar ngembangin n sukses
makassii makassi 😀
mas, kalo kita ambil file soundnya dari database di server kira” bisa atau nggak untuk di masukan ke dalam program. kalo bisa share tutorialnya mas.hehe
thanks buat tutorial yg ini mas
mas, aku kan buat aplikasi alat musik. ada informasi alat musik itu sama ada suaranya, cara gabungin suaanya gimana yaa ? adakah tutorialnya ? klu bisa kirim imel saya mas sitiena.n@gmail.com terimakasi banyak 🙂
mas kalo mau nambahin playsound di gallery buah yang mas buat itu gmna yah?? start dari mananya dulu? saya bingung disetiap gambarnya bagaimana untuk pnambahan playsoundnya mas
mas untuk tombol pause kan fungsinya untuk berhenti d posisi yang kita mau trz wkt mau d play lagi kenapa musiknya kembali ke awal bukan melanjutkan di posisi musik berhenti tadi????
mas agus, saya mw tanya nh, q buat aplikasi alarm lah q masih bingung gmn kasih audio nya (audio default z)? jika punya source / link buat belajar saya mohon di beri tau y mas….
mohon bantuannya guru…
bang agus, R.java nya tidak mw cread (raw)….
apa manifest.xml perlu di edit juga (di tambahi scipt)?
mohon di bantu bang..
keren,,,,!!!