Kamis, 11 Mei 2017

Bagaimana Caranya Membuat Windows Media Player menggunakan Java Netbeans

Assalamu'alaikum wr.wb

Kon'nichiwa Sekai !!
kali ini saya akan menjelaskan bagaimana cara membuat program Media Player menggunakan Java Netbean IDE 8.2.

Nah, ini adalah Screenshot program Media Player sederhana yang sudah selesai dibuat.




Cara kerja dari aplikasi ini hampir sama dengan Media Player pada umumnya. Tapi, bedanya saya belum bisa ngasih tombol volume-nya hehe. Habis waktunya gak kekejar, mungkin nanti teman - teman bisa Search aja di mbah gugel.

Sebelumnya buka dulu program Netbeans kalian, dan langsung saja klik next.



laluu.. Isi project name nya sesuai dengan yang kalian mau. lalu klik finish.



 Lanjut kita buat Java Class-nya, dan beri nama playlist.



Lanjut lagi kita langsung buat Jframe form nya, untuk desain-nya nanti.



oh iya, sebelumnya kita perlu menambah library baru untuk codenya nanti, library nya bisa di download di bawah nanti ya. karna jika tidak ditambahkan, pastinya akan error. Cara-nya klik kanan pada library - Add JAR/FOLDER - Cari dimana kita menyimpan filenya lalu klik open.



Nah nanti akan ada di folder library nya.. gak usah di apa - apain diemin aja.



Lanjut kita buat desain - nya, di Jframe form tadi.. kalo saya buat seperti ini.




kalau sudah semua, ubah nama variable tombol - tombol tersebut ya, sesuai keinginan. Misalnya saya ingin nama tombol DEL saya btnDel, dan tombol PLAY Saya btnPlay, terserah kalian. dan jangan lupa kasih variable juga untuk list daftar lagunya, kalau saya Jplaylist.


Oke waktunya kita Coding.. Klik Class playlist.java yang sudah kita buat di awal tadi. lalu tuliskan Rumusnya..


Ini Source Code-nya

package player;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;
    import java.util.Arrays;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;


/**
 *
 * @author yuda
 */
public class playlist {
    JFileChooser fc = new JFileChooser();
    ArrayList ls = new ArrayList();
    private FileOutputStream fos;

    void add(JFrame frame) {
        fc.setMultiSelectionEnabled(true);
        int fileValid = fc.showOpenDialog(frame);
        if (fileValid == javax.swing.JFileChooser.CANCEL_OPTION) {
            return;
        } else if (fileValid == javax.swing.JFileChooser.APPROVE_OPTION) {
            File[] file = fc.getSelectedFiles();
            ls.addAll(Arrays.asList(file));
        }
    }

    ArrayList getListSong(){
        return ls;
    }


    //save plasylist
    FileOutputStream foa;
    ObjectOutputStream oos;

    public void saveAsPlaylist(JFrame frame) {
        fc.setMultiSelectionEnabled(false);
        int Valid = fc.showSaveDialog(frame);
        if (Valid == javax.swing.JFileChooser.CANCEL_OPTION){
            return;
        } else if (Valid == javax.swing.JFileChooser.APPROVE_OPTION){
            File pls = fc.getSelectedFile();
            try{
                fos = new FileOutputStream(pls + ".tgr");
                oos = new ObjectOutputStream(fos);
                for (int i=0; i<ls.size()   ; i++ ){
                    File tmp = (File) ls.get(i);
                    oos.writeObject(tmp);
                }
                oos.close();
            }
            catch (Exception e){
             
                }
            }
    }
    FileInputStream fis;
    ObjectInputStream ois;
 
    public void openPls(JFrame frame){
        fc.setMultiSelectionEnabled(false);
        int Valid = fc.showOpenDialog(frame);
        if (Valid == javax.swing.JFileChooser.CANCEL_OPTION){
            return;
        }
        if (Valid == javax.swing.JFileChooser.APPROVE_OPTION){
            File pls = fc.getSelectedFile();
            try{
                fis = new FileInputStream(pls);
                ois = new ObjectInputStream(fis);
                File tmp;
                while ((tmp = (File) ois.readObject()) !=null){
                    ls.add(tmp);
                }
                if ((tmp = (File) ois.readObject()) ==null){
                    ls.isEmpty();
                }
                ois.close();
            }catch (Exception e){
        }
        }
    }
}


okee lanjut ke Jframe form nya.. Masukan Rumus nya di Source ya.


Ini Source Code nya..

package player;

import java.io.File;
import java.io.*;
import javax.swing.DefaultListModel;
import java.util.ArrayList;
import javax.swing.UIManager;

/**
 *
 * @author yuda
 */
public class Utama extends javax.swing.JFrame {
playlist pl = new playlist();
 
    ArrayList updateList = new ArrayList();
 
    javazoom.jl.player.Player player;
    File simpan;

    /**
     * Creates new form Utama
     */
    public Utama() {
        initComponents();
    }
 
    void updateList() {
        updateList = pl.getListSong();
        DefaultListModel model =  new DefaultListModel();
        for (int i = 0; i < updateList.size(); i++) {
            int j = i + 1;
            model.add(i, j + " | " + ((File) updateList.get(i)).getName());
        }
        jplaylist.setModel(model);

    }
 
    //panel kontrol

void add(){
    pl.add(this);
    updateList();
}

void remove(){
    try{
        int akandihapus = jplaylist.getLeadSelectionIndex();
        pl.ls.remove(akandihapus);
        updateList();
    }catch(Exception e){
    }
}

void up(){
    try{
        int s1 = jplaylist.getLeadSelectionIndex();
        simpan = (File) pl.ls.get(s1);
        pl.ls.remove(s1);
        pl.ls.add(s1 - 1, simpan );
        updateList();
        jplaylist.setSelectedIndex(s1-1);
    }catch(Exception e){
    }
}

void down(){
    try{
        int s1 = jplaylist.getLeadSelectionIndex();
        simpan = (File) pl.ls.get(s1);
        pl.ls.remove(s1);
        pl.ls.add(s1 + 1, simpan );
        updateList();
        jplaylist.setSelectedIndex(s1+1);
    }catch(Exception e){
    }
}

void open(){
    pl.openPls(this);
    updateList();
}

void save(){
    pl.saveAsPlaylist(this);
    updateList();
}

File play1;
static int a = 0;

void putar(){
    if(a==0){
        try{
            int p1 = jplaylist.getSelectedIndex();
            play1 = (File) this.updateList.get(p1);
            FileInputStream fis = new FileInputStream(play1);
            BufferedInputStream bis = new BufferedInputStream(fis);
            player = new javazoom.jl.player.Player(bis);
            a =1;
        }catch(Exception e){
            System.out.println("Problem playing file");
            System.out.println(e);
        }
     
        new Thread(){
            @Override
            public void run(){
                try{
                    player.play();
             
            }catch (Exception e){
            }
        }
    }.start();
    }else{
        player.close();
        a=0;
        putar();
    }
}


File sa;
void next(){
    if(a==0){
        try{
            int s1 = jplaylist.getSelectedIndex() +1;
            sa = (File) this.pl.ls.get(s1);
            FileInputStream fis = new FileInputStream(sa);
            BufferedInputStream bis = new BufferedInputStream(fis);
            player = new javazoom.jl.player.Player(bis);
            a =1;
            jplaylist.setSelectedIndex(s1);
        }catch(Exception e){
            System.out.println("Problem playing file");
            System.out.println(e);
        }
     
        new Thread(){
            @Override
            public void run(){
                try{
                    player.play();
             
            }catch (Exception e){
            }
        }
    }.start();
    }else{
        player.close();
        a=0;
        next();
    }

}

    void previous(){
    if(a==0){
        try{
            int s1 = jplaylist.getSelectedIndex() -1;
            sa = (File) this.pl.ls.get(s1);
            FileInputStream fis = new FileInputStream(sa);
            BufferedInputStream bis = new BufferedInputStream(fis);
            player = new javazoom.jl.player.Player(bis);
            a =1;
            jplaylist.setSelectedIndex(s1);
        }catch(Exception e){
            System.out.println("Problem playing file");
            System.out.println(e);
        }
     
        new Thread(){
            @Override
            public void run(){
                try{
                    player.play();
             
            }catch (Exception e){
            }
        }
    }.start();
    }else{
        player.close();
        a=0;
        previous();
    }
}


Jika sudah, periksa lagi dimana error-nya, jika sudah tidak ada yang error kita kembali lagi ke tab desain. klik 2 kali pada tombol - tombol yang sudah kita buat tadi dan samakan seperti ini.

@SuppressWarnings("unchecked")

    private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {                                    
        add();// TODO add your handling code here:
    }                                    

    private void btnRemoveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        remove();// TODO add your handling code here:
    }                                      

    private void btnUpActionPerformed(java.awt.event.ActionEvent evt) {                                    
        up();// TODO add your handling code here:
    }                                  

    private void btnDownActionPerformed(java.awt.event.ActionEvent evt) {                                      
        down();// TODO add your handling code here:
    }                                    

    private void btnPlayActionPerformed(java.awt.event.ActionEvent evt) {                                      
        putar();// TODO add your handling code here:
    }                                    

    private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt) {                                          
        previous();// TODO add your handling code here:
    }                                        

    private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {                                      
        next();// TODO add your handling code here:
    }                                    

    private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                      
        save();// TODO add your handling code here:
    }                                    

kalau sudah, silahkan di Run programnya..

Klik Add


Pilih Dimana folder lagu yang mau kita dengarkan, lalu klik open..




Tinggal kita play deh lagunya..




Keterangan :

Butoon (+)                 untuk Menambahkan lagu.
Butoon (Del)              untuk Menghapus lagu.
Butoon (Save)            untuk Menyimpan lagu.
Butoon (up)                untuk Memposisikan lagu berada diatas.
Butoon (down)           untuk Memposisikan lagu berada dibawah.
Butoon (pause)          untuk Mempause/Menjeda lagu.
Butoon (previous)      untuk Mendengarkan lagu sebelumnya.
Butoon (play)             untuk Memutar lagu.
Butoon (next)             untuk Mendengarkan lagu berikutnya.
Butoon (stop)             untuk Memberhentikan lagu.

Dan bisa di download Source Code dan tambahan Folder Lib nya disini, https://drive.google.com/open?id=0B_68wTBd8JAiUWxKT3ZtWEc4QkU

Tidak ada komentar: