Bonjour,

Je cherche à réaliser un player wav. Celui-ci scan un dossier pour me sélectionner les fichiers wav présent.

J'arrive à sélectionner le chemin d'un fichier, mais ensuite, je n'arrive pas à utiliser la class AudioClip pour lire mon fichier.

Voici pour le moment se que j'ai fais (tout est situer dans une même classe pour le moment...)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import javax.swing.*;//collection qui contient l'interface graphique avec aspects bleutés
import java.awt.*;//collection qui contient l'interface graphique tout court
import java.io.*;//collection qui contient la classe File
import java.awt.event.*;
import java.applet.*;
import java.applet.AudioClip;
 
public class Graph extends JFrame implements ActionListener, AudioClip//JFrame est la fenêtre graphique
{
    private JPanel p1 = new JPanel(new BorderLayout());//panel principal de la fenêtre > organisation spatial de la fenêtre
    private JPanel p2 = new JPanel(new GridLayout(1,3));//panel organisé en tableau avec des cellules de mêmes tailles (ligne, colonne)
    private JPanel p3 = new JPanel(new GridLayout(1,1));//panel organisé en tableau avec des cellules de mêmes tailles (ligne, colonne)
    private java.awt.List liste = new java.awt.List();//Liste d'éléments
    private JButton stop = new JButton("Stop");//bouton
    private JButton lecture = new JButton("Lecture");//bouton
    private JButton loop = new JButton("Boucle");//bouton
    private File repertoire;//variable du nom du répertoire
    private String fichiers[];//Tableau qui contient la liste des noms des fichiers "wav"
 
    public Graph() //constructeur
    {
        setTitle("Media Nono"); //nom de la fenêtre
        setLocation(100,100); //position d'origine de la fenêtre
        add(p1);//Ajout du panel P1 à la fenêtre
        stop.addActionListener(this);
        lecture.addActionListener(this);
        loop.addActionListener(this);
        p2.add(stop);//Ajout du bouton "stop" au panel P2
        p2.add(lecture);//Ajout du bouton "lecture" au panel P2
        p2.add(loop);//Ajout du bouton "loop" au panel P2
        p1.add(p2, BorderLayout.SOUTH);//Ajout du panel P2 au sud du panel P1
        playlist();//appel de la méthode "playlist"
        addWindowListener 
        (
                new WindowAdapter()
                {
                    public void windowClosing (WindowEvent e)
                    {
                        System.exit(0);
                    }
                }
        );
        pack();//gère la taille size des différents panels, boutons, liste
        setVisible(true);//rendre la fenêtre visible (par défaut : false)
    }
 
    public void playlist()//méthode qui permet d'afficher la playlist
    {
        repertoire = new File("C:\\wav\\");//ajout du repertoire contenant les fichiers "wav"
        fichiers = repertoire.list();//Ajout dans le tableau "fichiers" tout les répertoires et fichiers contenu dans le répertoire
 
        for (int i = 0 ; i < fichiers.length ; i++)//parcourir les fichiers du tableau
        {
            if ( fichiers[i].endsWith(".wav") ) //condition permettant de n'ajouter que des fichiers *.wav dans la liste
            {
                liste.add(fichiers[i]);//ajouter les fichiers *.wav dans la liste
            }
        }
        p3.add(liste);//ajout de la liste au panel P3
        p1.add(p3);//ajout du panel P3 au panel P1
    }
 
    public void stop()
    {
 
    }
 
    public void play()
    {
        //AudioClip au = Applet.newAudioClip(getClass().getResource("C:\\wav\\"+liste.getItem(1)));
        System.out.println("C:\\wav\\"+liste.getItem(1));
        //au.play();
    }
 
    public void loop()
    {
 
    }
 
    public void actionPerformed(ActionEvent e)
    {
        if ( e.getSource() == stop)
        {
            stop();
        }
 
        if ( e.getSource() == lecture)
        {
            play();
        }
 
        if ( e.getSource() == loop)
        {
            loop();
        }
    }
 
 
}