Bonsoir.
Je programme (pour une activité avec des enfants) un programme qui lorsqu'on appuie sur une touche précise joue un son.
(NDLR : je programme sur Eclispe)
Voici le code :
https://gist.github.com/stk3702/99b5...c471f4c7a8acf6
C'est censé jouer un son quand on appuie sur 'A' mais ça ne fonctionne pas et pourtant tout a l'air correct (détection du fichier, entrée et sortie des appels de jouer(), ... ).
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 import java.awt.event.KeyListener; import java.awt.event.KeyEvent; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.swing.ImageIcon; import java.applet.Applet; import java.applet.AudioClip; import java.net.URL; import java.io.File; class Buzzer extends Thread { private URL url; private AudioClip sound; private File f; public Buzzer() { f=new File("f.wav"); if(f.exists()) { System.out.println("pouet"); } try { url = f.toURI().toURL(); sound = Applet.newAudioClip(url); System.out.println("sound"); } catch (Exception e) { System.out.println(e); } } public void jouer() { System.out.println("in"); sound.play(); System.out.println("out"); } } class FenetreQuizz extends JFrame implements KeyListener{ JLabel label; JPanel panel; JDialog dg; Buzzer bz; String ficelle; public FenetreQuizz () { super(); ficelle=""; bz=new Buzzer(); setTitle("Quizz"); setSize(200,200); setExtendedState(JFrame.MAXIMIZED_BOTH); panel=new JPanel(); label=new JLabel(); panel.add(label); setContentPane(panel); setVisible(true); addKeyListener(this); } @Override public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_A) { ficelle=ficelle+"1"; bz.jouer(); } } @Override public void keyTyped(KeyEvent e) {} @Override public void keyReleased(KeyEvent e) {} } public class Quizz{ public Quizz() {} public static void main(String [] args) { FenetreQuizz fq=new FenetreQuizz(); fq.setVisible(true); } }
Auriez-vous une idée s'il vous plaît ?
Partager