Java : Memainkan File Mp3 di Program Java

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.

Please Don't Stop The Music

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. 🙂





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

17 Comments
  1. rifqithokz December 14, 2011
    • twohnuvo December 14, 2011
  2. Indah April 23, 2012
    • twohnuvo April 23, 2012
  3. alex November 22, 2012
    • Herdi Naufal December 5, 2012
  4. marndut May 21, 2013
  5. marndut May 21, 2013
  6. ilham June 24, 2013
    • Herdi Naufal July 1, 2013
      • Ahmad Sahro November 11, 2014
        • Hafizh Herdi Naufal November 11, 2014
          • Akhbar Islam December 30, 2014
  7. Santi Nurmala April 18, 2014
  8. ali May 20, 2014
  9. irvan January 4, 2015
  10. deckyazmi January 1, 2016

Leave a Reply

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

TWOH&Co.