Advertisement
Guest User

CodeMP3

a guest
May 4th, 2012
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.90 KB | None | 0 0
  1.     import java.awt.Color;
  2.     import java.awt.Dimension;
  3.     import java.awt.FlowLayout;
  4.     import java.awt.Font;
  5.     import java.awt.event.ActionEvent;
  6.     import java.awt.event.ActionListener;
  7.     import java.awt.event.MouseEvent;
  8.     import java.awt.event.MouseListener;
  9.     import java.awt.event.MouseMotionListener;
  10.     import java.io.File;
  11.     import java.net.URL;
  12.     import java.util.ArrayList;
  13.  
  14.     import javax.media.Manager;
  15.     import javax.media.Player;
  16.     import javax.media.Time;
  17.     import javax.swing.BorderFactory;
  18.     import javax.swing.DefaultListModel;
  19.     import javax.swing.JButton;
  20.     import javax.swing.JFileChooser;
  21.     import javax.swing.JFrame;
  22.     import javax.swing.JLabel;
  23.     import javax.swing.JList;
  24.     import javax.swing.JOptionPane;
  25.     import javax.swing.JScrollPane;
  26.     import javax.swing.JSlider;
  27.     import javax.swing.Timer;
  28.     import javax.swing.event.ChangeEvent;
  29. import javax.swing.event.ChangeListener;
  30.    
  31.    
  32.    
  33.     public class PlayerMusic extends JFrame implements ActionListener, MouseMotionListener, ChangeListener, MouseListener{
  34.        
  35.     private Player lecteur = null;
  36.     private File dossier = null;
  37.     private ArrayList<File> fic = new ArrayList<File>();
  38.     private File [] fichiers = null;
  39.     private File [] maPlayList = null;
  40.     private JFileChooser fc = null;
  41.     private int nombreFile = 0;
  42.    
  43.  
  44.     private Timer play_time = new Timer(1, this);
  45.     private JLabel dure = new JLabel("00:00 - 00:00", JLabel.CENTER);
  46.     private JLabel name = new JLabel(" --- ", JLabel.CENTER);
  47.     private boolean enPause = false;
  48.     private JButton play = new JButton("Play");
  49.     private JButton pause = new JButton("Pause");
  50.     private JButton stop = new JButton("Stop");
  51.     private JButton open = new JButton("Open");
  52.     private JSlider deplacement = new JSlider(0, 100, 0);
  53.     private JButton suivant = new JButton("-->");
  54.     private JButton precedent = new JButton("<--");
  55.    
  56.     private DefaultListModel dlm = new DefaultListModel();
  57.     private JList laListe = new JList(dlm);
  58.     private JScrollPane monScroll = new JScrollPane();
  59.    
  60.     public PlayerMusic() {
  61.        
  62.     this.setTitle(" __MiniMP3Player__ ");
  63.     this.setSize(690, 600);
  64.     this.setLocationRelativeTo(null);
  65.     this.setVisible(true);
  66.     this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  67.     this.setLayout(new FlowLayout(FlowLayout.CENTER));
  68.     this.getContentPane().add(dure);
  69.     this.getContentPane().add(name);
  70.    // this.getContentPane().add(taille);
  71.     this.getContentPane().add(deplacement);
  72.     this.getContentPane().add(play);
  73.     this.getContentPane().add(pause);
  74.     this.getContentPane().add(stop);
  75.     this.getContentPane().add(open);
  76.     this.getContentPane().add(suivant);
  77.     this.getContentPane().add(precedent);
  78.     this.getContentPane().add(monScroll);
  79.    
  80.     monScroll.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
  81.     monScroll.setPreferredSize(new Dimension(600,400));
  82.     monScroll.setViewportView(laListe);
  83.     laListe.addMouseListener(this);
  84.  
  85.     play.addActionListener(this);
  86.     pause.addActionListener(this);
  87.     stop.addActionListener(this);
  88.     open.addActionListener(this);
  89.     suivant.addActionListener(this);
  90.     precedent.addActionListener(this);
  91.     deplacement.addChangeListener(this);
  92.     deplacement.addMouseMotionListener(this);
  93.     dure.setFont(new Font("Arial", Font.CENTER_BASELINE, 20));
  94.     dure.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
  95.     dure.setPreferredSize(new Dimension(140, 35));
  96.     name.setFont(new Font("Arial", Font.CENTER_BASELINE, 20));
  97.     name.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
  98.     name.setPreferredSize(new Dimension(590, 35));
  99.    // taille.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
  100.    // taille.setPreferredSize(new Dimension(200, 35));
  101.    // taille.setFont(new Font("Arial", Font.CENTER_BASELINE, 20));
  102.     deplacement.setPreferredSize(new Dimension(730, 30));
  103.  
  104.     }
  105.    
  106.    
  107.    
  108.    
  109.     public String toString(Time t) {
  110.         if (t != null) {
  111.             int min = ((int) t.getSeconds()) / 60;
  112.             int sec = ((int) t.getSeconds()) % 60;
  113.             return (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec);
  114.         }
  115.         return "00:00";
  116.     }
  117.    
  118.    
  119.     public void actionPerformed(ActionEvent e) {
  120.         String[] monExt = null;
  121.         String tempStr = null;
  122.         int temp = 0;
  123.        
  124.        
  125.        
  126.         if (e.getSource() == play_time) {
  127.             dure.setText(toString(lecteur.getMediaTime()) + " - " + toString(lecteur.getDuration()));
  128.             deplacement.setValue((int) (lecteur.getMediaTime().getSeconds() / lecteur.getDuration().getSeconds() * 100));
  129.             if (lecteur.getMediaTime().getSeconds() == lecteur.getDuration().getSeconds()) {
  130.                 lecteur.stop();
  131.                 lecteur.close();
  132.                 lecteur = null;
  133.                 deplacement.setValue(0);
  134.                 dure.setText("00:00 - " + toString(lecteur.getDuration()));
  135.                 play_time.stop();
  136.             }
  137.         }
  138.  
  139.         if (e.getSource() == open) {
  140.            
  141.             JOptionPane.showMessageDialog(null, "Selectionnez une musique dans un repertoire pour selectionnez toutes les musiques de ce repertoire", "Information", JOptionPane.INFORMATION_MESSAGE);
  142.            
  143.            
  144.             fc = new JFileChooser();
  145.             fc.setAcceptAllFileFilterUsed(false);
  146.             fc.showOpenDialog(this);
  147.             if (fc.getDialogType() == JFileChooser.APPROVE_OPTION) {
  148.                 dossier = fc.getCurrentDirectory();
  149.                 if(dossier.isDirectory()){
  150.                     fichiers = dossier.listFiles();
  151.                     nombreFile = fichiers.length;
  152.                     temp = nombreFile;
  153.                     JOptionPane.showMessageDialog(null, "NB FIC : " + nombreFile, "Information", JOptionPane.INFORMATION_MESSAGE);
  154.  
  155.                     dlm.clear();
  156.                     for(int i=0;i < temp;i++){
  157.                             tempStr = fichiers[i].getName();
  158.                             monExt = tempStr.split("[.]");
  159.                            
  160.                             try{
  161.                                 if(monExt[1].equals("mp3")||monExt[1].equals("wav")||monExt[1].equals("mp2")||monExt[1].equals("wma")){
  162.                                     dlm.addElement(monExt[0].toString());
  163.                                     fic.add(fichiers[i]);
  164.                                 }
  165.                                 else{                                  
  166.                                     nombreFile--;
  167.                                 }
  168.                             }
  169.                             catch(Exception evt){
  170.                                 nombreFile--;
  171.                             }
  172.                         }
  173.                     maPlayList = (File[]) fic.toArray();
  174.  
  175.                 }
  176.             }
  177.         }
  178.         if (e.getSource() == play) {
  179.  
  180.             try {
  181.  
  182.                 if (laListe.getSelectedValue() != null) {
  183.                    
  184.                     if (lecteur == null) {
  185.  
  186.                         lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
  187.                         name.setText(laListe.getSelectedValue().toString());
  188.                         lecteur.start();
  189.                         play_time.start();
  190.                     }
  191.                    
  192.                     else{
  193.                         lecteur.stop();
  194.                         lecteur.close();
  195.                         lecteur = null;
  196.                         play_time.stop();
  197.                         dure.setText("00:00 - 00:00");
  198.                         deplacement.setValue(0);
  199.                        
  200.                         lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
  201.                         name.setText(laListe.getSelectedValue().toString());
  202.                         //taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getTotalSpace()));
  203.  
  204.                         lecteur.start();
  205.                         play_time.start();
  206.                     }
  207.                        
  208.                
  209.                     if (enPause == true) {
  210.                         lecteur.start();
  211.                         play_time.start();
  212.                         enPause = false;
  213.                     }
  214.  
  215.                    
  216.                 }
  217.             } catch (Exception ex) {
  218.                 ex.printStackTrace();
  219.             }
  220.             }
  221.             if (e.getSource() == pause) {
  222.                 if (enPause == false && lecteur != null) {
  223.                     lecteur.stop();
  224.                     play_time.stop();
  225.                     enPause = true;
  226.                 }
  227.             }
  228.             if (e.getSource() == stop) {
  229.                 if (enPause == false && lecteur != null) {
  230.                     lecteur.stop();
  231.                     lecteur.close();
  232.                     lecteur = null;
  233.                     play_time.stop();
  234.                     dure.setText("00:00 - 00:00");
  235.                     deplacement.setValue(0);
  236.                     }
  237.             }
  238.            
  239.             if (e.getSource() == suivant) {
  240.                 try{
  241.                 lecteur.stop();
  242.                 lecteur.close();
  243.                 lecteur = null;
  244.                 play_time.stop();
  245.                 dure.setText("00:00 - 00:00");
  246.                 deplacement.setValue(0);
  247.                
  248.                 laListe.setSelectedIndex(laListe.getSelectedIndex()+1);
  249.                 lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
  250.                 name.setText(laListe.getSelectedValue().toString());
  251.                 lecteur.start();
  252.                 play_time.start();
  253.                 }
  254.                 catch(Exception ex){
  255.                     ex.printStackTrace();
  256.                 }
  257.                
  258.             }
  259.            
  260.             if (e.getSource() == precedent) {
  261.                 try{
  262.                     lecteur.stop();
  263.                     lecteur.close();
  264.                     lecteur = null;
  265.                     play_time.stop();
  266.                     dure.setText("00:00 - 00:00");
  267.                     deplacement.setValue(0);
  268.                    
  269.                     laListe.setSelectedIndex(laListe.getSelectedIndex()-1);
  270.                     lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
  271.                     name.setText(laListe.getSelectedValue().toString());
  272.                 //  taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getTotalSpace()));
  273.  
  274.                     lecteur.start();
  275.                     play_time.start();
  276.                     }
  277.                     catch(Exception ex){
  278.                         ex.printStackTrace();
  279.                     }
  280.                    
  281.             }
  282.            
  283.  
  284.  
  285.            
  286.     }
  287.    
  288.    
  289.    
  290.     public void stateChanged(ChangeEvent e) {
  291.         if (lecteur != null) {
  292.             if (e.getSource() == deplacement) {
  293.                 deplacement.setToolTipText(toString(lecteur.getMediaTime()));
  294.             }
  295.         }
  296.     }
  297.    
  298.    
  299.    
  300.     public void mouseDragged(MouseEvent e) {
  301.         if (lecteur != null) {
  302.             if (e.getSource() == deplacement) {
  303.                 if (e.getModifiers() == MouseEvent.BUTTON1_MASK) {
  304.                     lecteur.setMediaTime(new Time((double) (deplacement.getValue() * lecteur.getDuration().getSeconds() / 100)));
  305.                 }
  306.             }
  307.         }
  308.     }
  309.    
  310.    
  311.    
  312.     public void mouseMoved(MouseEvent e) {
  313.     }
  314.    
  315.    
  316.     public static void main(String[] args) {
  317.         new PlayerMusic();
  318.     }
  319.  
  320.  
  321.  
  322.  
  323.     @Override
  324.     public void mouseClicked(MouseEvent arg0) {
  325.         // TODO Auto-generated method stub
  326.         if (arg0.getSource() == laListe) {
  327.             try {                  
  328.                     if (lecteur == null) {
  329.  
  330.                         lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
  331.                         name.setText(laListe.getSelectedValue().toString());
  332.                         //taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getTotalSpace()));
  333.  
  334.                         lecteur.start();
  335.                         play_time.start();
  336.                     }
  337.                    
  338.                     else{
  339.                         lecteur.stop();
  340.                         lecteur.close();
  341.                         lecteur = null;
  342.                         play_time.stop();
  343.                         dure.setText("00:00 - 00:00");
  344.                         deplacement.setValue(0);
  345.  
  346.                             lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
  347.                             name.setText(laListe.getSelectedValue().toString());
  348.                         //  taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getUsableSpace()));
  349.  
  350.                             lecteur.start();
  351.                             play_time.start();
  352.                     }
  353.                        
  354.                
  355.                     if (enPause == true) {
  356.                         lecteur.start();
  357.                         play_time.start();
  358.                         enPause = false;
  359.                     }
  360.  
  361.                    
  362.                
  363.             } catch (Exception ex) {
  364.                 ex.printStackTrace();
  365.                 JOptionPane.showMessageDialog(null, "fichier url " + "test"+ maPlayList[laListe.getSelectedIndex()].toString() + " en url ne passe pas dans les instructions, vas comprendre charles", "Information", JOptionPane.INFORMATION_MESSAGE);
  366.             }
  367.            
  368.         }
  369.        
  370.     }
  371.  
  372.  
  373.  
  374.  
  375.     @Override
  376.     public void mouseEntered(MouseEvent arg0) {
  377.         // TODO Auto-generated method stub
  378.        
  379.     }
  380.  
  381.  
  382.  
  383.  
  384.     @Override
  385.     public void mouseExited(MouseEvent arg0) {
  386.         // TODO Auto-generated method stub
  387.        
  388.     }
  389.  
  390.  
  391.  
  392.  
  393.     @Override
  394.     public void mousePressed(MouseEvent arg0) {
  395.         // TODO Auto-generated method stub
  396.        
  397.     }
  398.  
  399.  
  400.     @Override
  401.     public void mouseReleased(MouseEvent arg0) {
  402.         // TODO Auto-generated method stub
  403.        
  404.     }
  405.    
  406.    
  407.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement