membuat mp3 player dengan java netbeans
Kali ini Ruang Teknologi akan membagikan tutorial bagaimana cara membuat project musik player dengan menggunakan bahasa pemogramman java lewat aplikasi netbeans. Nah disini kita akan di tuntut bagaimana cara memutar musik atau audio dengan netbeans, nantinya aplikasi ini menggunakan fitur stop, play, pause. langsung saja kita praktekkan cara membuat musik player ini.
instal libary
Sebelum membuat project ini, download dahulu plugin library jlayer untuk dapat meload media audio kita nanti, kenapa tidak menggunakan library JMF? Karena saat menggunakan JMF sering terjadi eror seperti tidak bisa load musik, tidak support pada pc dan sebagainya. Kalian bisa mendownload library JLayer di http://www.javazoom.net/javalayer/sources.html.
desain aplikasi
Setelah mendownload library JLayer, saatnya kita buat projectnya. Buat dengan nama myplaylist lalu buat package dengan nama musikplayer. Setelah membuat package, buat jframe dengan nama musiku dan design sesuai seperti ini
Pada bagian ini saya menggunakan label yang disisipi gambar icon, kalian bisa mendownload iconnya disini Download icon musik player. untuk membuat nya silahkan buat button -> property -> cari icon seperti gambar ini.
Untuk nama variabel nya sesuaikan saja seperti ini
no |
Nama variabel |
1 |
jButton1 |
2 |
Suffle |
3 |
pause |
4 |
Playicon |
5 |
Stop |
6 |
more |
7 |
jButton2 |
8 |
jButton3 |
9 |
jList1 |
10 |
jLabel2 |
Setelah menyesuaikan variabel di atas langkah selanjutnya kita akan ngoding. Import dulu library tadi. Caranya pada project tadi cari libary lalu klik kanan add jar/folder lalu cari JLayer kita tadi.
Nah pertama import semua library yang kita butuhkan nanti, letakan
dibagian atas projek tepat dibawah nama package kita.
import java.io.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.Normalizer.Form;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javazoom.jl.player.Player;
import javazoom.jl.decoder.JavaLayerException;
Lalu letakan kode ini pada bagian bawah
public class musiku extends javax.swing.JFrame { ...
FileInputStream FIS;
BufferedInputStream BIS;
public Player player;
public long pauseLocation;
public long songTotalLength;
public String fileLocation;
DefaultListModel model = new DefaultListModel();
private Player mp3;
int a = 0;
private boolean canResume;
private String path;
private int total;
private int stopped;
private boolean valid;
private volatile boolean continuePlaying = true;
membuat button tambah musik
lalu pada bagian button tambahkan musik (jbutton1) klik kanan dan pilih event -> action ->action perfomer dan masukan kode berikut.
JFileChooser fc = new JFileChooser();
JFrame jf = new JFrame();
int setuju = fc.showOpenDialog(jf.add(fc));
int posisi = jList1.getModel().getSize();
if(setuju == JFileChooser.APPROVE_OPTION){
File file = fc.getSelectedFile();
String text = file.getPath();
String[] txt;
txt = new String[]{text};
model.add(posisi, text);
}
jList1.setModel(model);
;
membuat fungsi play dan delete musik
Sekarang button play musik(jbutton2) klik kanan dan pilih event -> action ->action perfomer isi seperti ini
try{
String main = jList1.getSelectedValue();
jLabel2.setText(main);
FileInputStream inputfile=new FileInputStream(main);
FIS = new FileInputStream(main);
songTotalLength = FIS.available();
BufferedInputStream bis=new BufferedInputStream(FIS);
player=new Player(bis);
fileLocation = main + "";
}catch(FileNotFoundException | JavaLayerException e){
JOptionPane.showMessageDialog(null,e);
} catch (IOException ex) {
Logger.getLogger(musiku.class.getName()).log(Level.SEVERE, null, ex);
}
new Thread(){
@Override
public void run(){
try {
player.play();
} catch (JavaLayerException ex) {
Logger.getLogger(Form.class.getName()).log(Level.SEVERE, null, ex);
}
}
}.start();
if(player != null) {
}
}
lanjut button Delete musik(jbutton3) klik kanan dan pilih event -> action ->action perfomer isi seperti ini
int posisi = jList1.getSelectedIndex();
model.remove(posisi);
Silahkan run untuk menjalankan aplikasi. Klik button Tambah musik dan cari mp3 di pc Anda yang ingin di putar. Setelah itu klik musik yang ingin di putar di bagian list dan play musik. Bila berasil maka musik akan diputar.
membuat fitur pause
Setelah itu kita berhasil memutar musik sekarang saatnya kita buat fungsi pause untuk menghentikan sementara lagu nanti. Pada pause(pause) klik kanan ->event->mouse->mouse clicked.
if(player != null){
try {
pauseLocation = FIS.available();
player.close();
} catch (IOException ex) {
}
jLabel2.setText("pause");
}
}
membuat fitur play
Bila sudah, kita akan membuat fungsi play yang berfungsi melanjutkan musik yang di pause tadi. Pada play(playicon) klik kanan ->event->mouse->mouse clicked. Isi seperti ini
try {
if (player == null) {
String main = jList1.getSelectedValue();
jLabel2.setText(main);
FileInputStream inputfile=new FileInputStream(main);
FIS = new FileInputStream(main);
songTotalLength = FIS.available();
BufferedInputStream bis=new BufferedInputStream(FIS);
player=new Player(bis);
fileLocation = main + "";
}
if (player != null) {
jLabel2.setText("resume " +fileLocation);
FIS = new FileInputStream(fileLocation);
FIS.skip(songTotalLength - pauseLocation);
BIS = new BufferedInputStream(FIS);
player = new Player(BIS);
}
} catch (FileNotFoundException ex) {
} catch (IOException ex) {
} catch (JavaLayerException ex) {
Logger.getLogger(musiku.class.getName()).log(Level.SEVERE, null, ex);
}
new Thread(){
@Override
public void run(){
try{
player.play();
}
catch(JavaLayerException ex){
}
}
}.start();
membuat fitur stop
Terakhir kita buat fungsi stop untuk menghentikan total lagu kita nanti, stop(stop) klik kanan ->event->mouse->mouse clicked.
player.close();
if(player != null){
player.close();
pauseLocation = 0;
songTotalLength = 0;
jLabel2.setText("music stoppen");
}
Nah jalankan dan tes semua fitur pause play dan stop yang telah kita buat nanti.
Penutup
Begitulah cara Membuat musik player java dengan netbeans, kalian bisa mengembangkan aplikasi ini seperti menambah fitur loop resuffle ataupun progressbar
No comments: