Last Updated on 13 years by Mas Herdi
Sebenarnya, saya agak bingung mau menulis judul apa, karena intinya tutorial ini hanya membahas bagaimana cara menambahkan dan kemudian memainkan file mp3 di program Anda, yang mungkin bisa berfungsi sebagai background music, atau lainnya.
Untuk memainkan file mp3 yang tentunya tidak didukung secara native oleh package-package yang ada pada Java, kita memerlukan libarary tambahan. Berdasarkan pengalaman saya, ada beberapa library yang bisa digunakan, seperti JavaZoom JLayer, Jffmpeg, ataupun Xuggle. Kita juga bisa menggunakan library Java Media Framework, namun harus menggunakan plug-in tambahan. Di sini, saya sudah mencoba salah satu diantaranya dan berhasil, menggunakan JavaZoom JLayer.
Yang pertama yang harus Anda lakukan, adalah membuat sebuah project Java Desktop Application, atau Java SE. Menggunakan IDE! Ya benar, Anda harus menggunakan IDE, bisa NetBeans ataupun Eclipse, karena jika tidak, Anda akan kesulitan untuk menambahkan library. Program yang membutuhkan musik ketika berjalan, biasanya adalah game dimana musiknya akan digunakan sebagai background music. Atau kalau Anda ingin program-nya sedikit ramai, mungkin Anda bisa membuat supaya program Anda memainkan musik setiap tombol di-klik.
Setelah itu, mari kita download JLayer library di situs ini. Versi yang terbaru adalah versi 1.01, keluaran tahun 2008, jangan takut versinya out-to-date, mp3 juga nggak banyak perubahan selama lima tahun terakhir. Kemudian, tambahkan pustaka JLayer ke dalam library folder proyek software Anda. Contohnya pada NetBeans, dengan klik kanan folder Libraries, kemudian pilih menu Add Jar/Folder, dan carilah alamat lokasi file library JLayer berada. Nama file-nya adalah jl1.0.1.jar.
Lalu, tambahkan method ini pada kelas apa saja pada program Anda.
private static String filename; private static Player player;
public static void play() { try { FileInputStream fis = new FileInputStream("src/.../file.mp3"); BufferedInputStream bis = new BufferedInputStream(fis); player = new Player(bis); } catch (Exception e) { System.out.println("Problem playing file " + filename); System.out.println(e); } // run in new thread to play in background new Thread() { @Override public void run() { try { player.play(); //player.play(); } catch (Exception e) { System.out.println(e); } } }.start(); } public void close() { player.close(); }
Jangan lupa, sertakan header seperti berikut,
import java.io.BufferedInputStream; import java.io.FileInputStream; import javazoom.jl.player.Player;
Ganti
"src/.../file.mp3"
dengan lokasi dimana file mp3 Anda berada. Walaupun secara default, method play() bisa memainkan file mp3 yang terletak di mana saja, namun saya sarankan untuk menambahkan file mp3 tersebut pada direktori src/ pada proyek Anda agar lebih terorganisir. Untuk memainkan musik-nya, letakkan method play() pada konstruktor kelas Anda, sehingga musik akan secara otomatis dimainkan saat kelas tersebut di-instantiate. Dan gunakan method close(), untuk menghentikan musik yang sedang berjalan.
Demikian, semoga berguna. 🙂
Wah…. keren…
ijin copas ya? 🙂
Silahkan 😀
izin slurpppppp yaaa
Wah main slurrpp aja 😀
gan music nya kug gak bisa berhenti ya?
harus ditambahin fungsi stop dulu gan supaya musiknya berhenti
mas javazoomnya kok gx bisa ya?
sudah mas ternyata salah import, hehehe….
klo file nya .amr atau .wav gimana mas……..
Bisa saja, tapi mungkin kalo selain mp3 membutuhkan library tambahan 🙂
mas, import javazoom.jl.player.Player; gak bisa.
di import dulu file library .jar nya ke project
Saya dapet masalah yang sama gan… import javazoom.jl.player.Player; tidak bisa… library sudah saya import… tapi masih merah juga… mohon pencerahannya…
bisa minta contoh projectnya ngga mas?
gan kalo misal kita pngin play banyak musik gmana ? nambahain “, file.mp3” kah ?
mas, saya sudah add JAR nya, udh import header juga.
yg harus diganti hanya direktori tempat kita menyimpan file saja kan ?
Terus, “Problem playing file” sama String “filename” nya diganti juga atau tidak mas?
Soalnya pas program saya di run, lagunya ga ke PLAY.
makasih mas 🙂
Btw, saya pke Netbeans 7.4
mas,mau tanya waktu di run di netbeans itu music play stop tanpa problem,tapi pas saya buat file exe nya pake j2ewizard kok ga ada suara musiknya ya?