Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.MouseMotionListener;
- import java.io.File;
- import java.net.URL;
- import java.util.ArrayList;
- import javax.media.Manager;
- import javax.media.Player;
- import javax.media.Time;
- import javax.swing.BorderFactory;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JFileChooser;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JOptionPane;
- import javax.swing.JScrollPane;
- import javax.swing.JSlider;
- import javax.swing.Timer;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class PlayerMusic extends JFrame implements ActionListener, MouseMotionListener, ChangeListener, MouseListener{
- private Player lecteur = null;
- private File dossier = null;
- private ArrayList<File> fic = new ArrayList<File>();
- private File [] fichiers = null;
- private File [] maPlayList = null;
- private JFileChooser fc = null;
- private int nombreFile = 0;
- private Timer play_time = new Timer(1, this);
- private JLabel dure = new JLabel("00:00 - 00:00", JLabel.CENTER);
- private JLabel name = new JLabel(" --- ", JLabel.CENTER);
- private boolean enPause = false;
- private JButton play = new JButton("Play");
- private JButton pause = new JButton("Pause");
- private JButton stop = new JButton("Stop");
- private JButton open = new JButton("Open");
- private JSlider deplacement = new JSlider(0, 100, 0);
- private JButton suivant = new JButton("-->");
- private JButton precedent = new JButton("<--");
- private DefaultListModel dlm = new DefaultListModel();
- private JList laListe = new JList(dlm);
- private JScrollPane monScroll = new JScrollPane();
- public PlayerMusic() {
- this.setTitle(" __MiniMP3Player__ ");
- this.setSize(690, 600);
- this.setLocationRelativeTo(null);
- this.setVisible(true);
- this.setDefaultCloseOperation(EXIT_ON_CLOSE);
- this.setLayout(new FlowLayout(FlowLayout.CENTER));
- this.getContentPane().add(dure);
- this.getContentPane().add(name);
- // this.getContentPane().add(taille);
- this.getContentPane().add(deplacement);
- this.getContentPane().add(play);
- this.getContentPane().add(pause);
- this.getContentPane().add(stop);
- this.getContentPane().add(open);
- this.getContentPane().add(suivant);
- this.getContentPane().add(precedent);
- this.getContentPane().add(monScroll);
- monScroll.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
- monScroll.setPreferredSize(new Dimension(600,400));
- monScroll.setViewportView(laListe);
- laListe.addMouseListener(this);
- play.addActionListener(this);
- pause.addActionListener(this);
- stop.addActionListener(this);
- open.addActionListener(this);
- suivant.addActionListener(this);
- precedent.addActionListener(this);
- deplacement.addChangeListener(this);
- deplacement.addMouseMotionListener(this);
- dure.setFont(new Font("Arial", Font.CENTER_BASELINE, 20));
- dure.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
- dure.setPreferredSize(new Dimension(140, 35));
- name.setFont(new Font("Arial", Font.CENTER_BASELINE, 20));
- name.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
- name.setPreferredSize(new Dimension(590, 35));
- // taille.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
- // taille.setPreferredSize(new Dimension(200, 35));
- // taille.setFont(new Font("Arial", Font.CENTER_BASELINE, 20));
- deplacement.setPreferredSize(new Dimension(730, 30));
- }
- public String toString(Time t) {
- if (t != null) {
- int min = ((int) t.getSeconds()) / 60;
- int sec = ((int) t.getSeconds()) % 60;
- return (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec);
- }
- return "00:00";
- }
- public void actionPerformed(ActionEvent e) {
- String[] monExt = null;
- String tempStr = null;
- int temp = 0;
- if (e.getSource() == play_time) {
- dure.setText(toString(lecteur.getMediaTime()) + " - " + toString(lecteur.getDuration()));
- deplacement.setValue((int) (lecteur.getMediaTime().getSeconds() / lecteur.getDuration().getSeconds() * 100));
- if (lecteur.getMediaTime().getSeconds() == lecteur.getDuration().getSeconds()) {
- lecteur.stop();
- lecteur.close();
- lecteur = null;
- deplacement.setValue(0);
- dure.setText("00:00 - " + toString(lecteur.getDuration()));
- play_time.stop();
- }
- }
- if (e.getSource() == open) {
- JOptionPane.showMessageDialog(null, "Selectionnez une musique dans un repertoire pour selectionnez toutes les musiques de ce repertoire", "Information", JOptionPane.INFORMATION_MESSAGE);
- fc = new JFileChooser();
- fc.setAcceptAllFileFilterUsed(false);
- fc.showOpenDialog(this);
- if (fc.getDialogType() == JFileChooser.APPROVE_OPTION) {
- dossier = fc.getCurrentDirectory();
- if(dossier.isDirectory()){
- fichiers = dossier.listFiles();
- nombreFile = fichiers.length;
- temp = nombreFile;
- JOptionPane.showMessageDialog(null, "NB FIC : " + nombreFile, "Information", JOptionPane.INFORMATION_MESSAGE);
- dlm.clear();
- for(int i=0;i < temp;i++){
- tempStr = fichiers[i].getName();
- monExt = tempStr.split("[.]");
- try{
- if(monExt[1].equals("mp3")||monExt[1].equals("wav")||monExt[1].equals("mp2")||monExt[1].equals("wma")){
- dlm.addElement(monExt[0].toString());
- fic.add(fichiers[i]);
- }
- else{
- nombreFile--;
- }
- }
- catch(Exception evt){
- nombreFile--;
- }
- }
- maPlayList = (File[]) fic.toArray();
- }
- }
- }
- if (e.getSource() == play) {
- try {
- if (laListe.getSelectedValue() != null) {
- if (lecteur == null) {
- lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
- name.setText(laListe.getSelectedValue().toString());
- lecteur.start();
- play_time.start();
- }
- else{
- lecteur.stop();
- lecteur.close();
- lecteur = null;
- play_time.stop();
- dure.setText("00:00 - 00:00");
- deplacement.setValue(0);
- lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
- name.setText(laListe.getSelectedValue().toString());
- //taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getTotalSpace()));
- lecteur.start();
- play_time.start();
- }
- if (enPause == true) {
- lecteur.start();
- play_time.start();
- enPause = false;
- }
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- if (e.getSource() == pause) {
- if (enPause == false && lecteur != null) {
- lecteur.stop();
- play_time.stop();
- enPause = true;
- }
- }
- if (e.getSource() == stop) {
- if (enPause == false && lecteur != null) {
- lecteur.stop();
- lecteur.close();
- lecteur = null;
- play_time.stop();
- dure.setText("00:00 - 00:00");
- deplacement.setValue(0);
- }
- }
- if (e.getSource() == suivant) {
- try{
- lecteur.stop();
- lecteur.close();
- lecteur = null;
- play_time.stop();
- dure.setText("00:00 - 00:00");
- deplacement.setValue(0);
- laListe.setSelectedIndex(laListe.getSelectedIndex()+1);
- lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
- name.setText(laListe.getSelectedValue().toString());
- lecteur.start();
- play_time.start();
- }
- catch(Exception ex){
- ex.printStackTrace();
- }
- }
- if (e.getSource() == precedent) {
- try{
- lecteur.stop();
- lecteur.close();
- lecteur = null;
- play_time.stop();
- dure.setText("00:00 - 00:00");
- deplacement.setValue(0);
- laListe.setSelectedIndex(laListe.getSelectedIndex()-1);
- lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
- name.setText(laListe.getSelectedValue().toString());
- // taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getTotalSpace()));
- lecteur.start();
- play_time.start();
- }
- catch(Exception ex){
- ex.printStackTrace();
- }
- }
- }
- public void stateChanged(ChangeEvent e) {
- if (lecteur != null) {
- if (e.getSource() == deplacement) {
- deplacement.setToolTipText(toString(lecteur.getMediaTime()));
- }
- }
- }
- public void mouseDragged(MouseEvent e) {
- if (lecteur != null) {
- if (e.getSource() == deplacement) {
- if (e.getModifiers() == MouseEvent.BUTTON1_MASK) {
- lecteur.setMediaTime(new Time((double) (deplacement.getValue() * lecteur.getDuration().getSeconds() / 100)));
- }
- }
- }
- }
- public void mouseMoved(MouseEvent e) {
- }
- public static void main(String[] args) {
- new PlayerMusic();
- }
- @Override
- public void mouseClicked(MouseEvent arg0) {
- // TODO Auto-generated method stub
- if (arg0.getSource() == laListe) {
- try {
- if (lecteur == null) {
- lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
- name.setText(laListe.getSelectedValue().toString());
- //taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getTotalSpace()));
- lecteur.start();
- play_time.start();
- }
- else{
- lecteur.stop();
- lecteur.close();
- lecteur = null;
- play_time.stop();
- dure.setText("00:00 - 00:00");
- deplacement.setValue(0);
- lecteur = Manager.createRealizedPlayer(maPlayList[laListe.getSelectedIndex()].toURL());
- name.setText(laListe.getSelectedValue().toString());
- // taille.setText(String.valueOf(fichiers[laListe.getSelectedIndex()].getUsableSpace()));
- lecteur.start();
- play_time.start();
- }
- if (enPause == true) {
- lecteur.start();
- play_time.start();
- enPause = false;
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- 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);
- }
- }
- }
- @Override
- public void mouseEntered(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseExited(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mousePressed(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseReleased(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement