Voila j ai une classe qui herite de la classe JFRame et j aimerai lancer une liste de musique a l instantiation de mon objet. Comment faire ?
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
Version imprimable
Voila j ai une classe qui herite de la classe JFRame et j aimerai lancer une liste de musique a l instantiation de mon objet. Comment faire ?
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
Regarde du côté de JavaSound mais je ne sais pas si ça marche en dehors d'une applet.
Nas'
pour jouer un son dans une appli java, j'ai trouvé un petite classe qui permet de le faire :
tu passe le chemin du son (WAV uniquement) en contructeur d'un objet Son et tu appelle la methode jouer() pour lancer le son.Code:
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 import javax.sound.sampled.*; import java.io.*; import java.net.*; public class Son { private String url; private Clip clip; public Son(String s){ url = s; try { AudioInputStream stream = AudioSystem.getAudioInputStream(new File(url)); AudioFormat format = stream.getFormat(); DataLine.Info info = new DataLine.Info( Clip.class, stream.getFormat(), ((int)stream.getFrameLength()*format.getFrameSize())); clip = (Clip) AudioSystem.getLine(info); clip.open(stream); } catch (Exception e) {} } /** * Joue le son associé */ public void jouer(){ try { clip.start(); } catch (Exception e) {} } }
Mc bc ca fonctionne nickel. J ai plus k a y ajouter deux trois trucs.
cela va peut eter paraitre une bete question mais :?
pour jouer un son il faut donc que je passe les commandes
Son.Son(nomDeLaMusiquev);
Son.jouer();
c est bien cela? Sous quelle forme faut il ecrire le nom du ficher ?
musique.wav ou musique ou C:\.....\musique.wav ??
merci beaucoup
en parametre du constructeur, tu passe le chemin relatif du son par rapport a la classe.
pour créer un son donc le fichier se trouve dans le meme repertoire :
pour créer un son donc le fichier se trouve dans un sous repertoire :Code:Son s = new Son("MonSon.wav");
pour créer un son donc le fichier se trouve dans le repertoire parent :Code:Son s = new Son("sousrep/MonSon.wav");
etc ...Code:Son s = new Son("../MonSon.wav");
et pour jouer :Code:s.jouer();
merci pour ta reponse,
ca compile maintenant mais il reste un probleme...
le son.... il sort par ou :?
car je n entends rien... faut il obligatoirement que cela se fasse dans une appel ou la simple fenetre (celle qui souvre quand tu fais system.out.println(); je ne sais pas comment s appelle cette fenetre) suffit
un grand merci !!
tu le fais ou tu veux, ca marche a tous les coups, aussi bien en console que dans une fenetre Swing ou AWT.
il suffit juste d'appuyer sur le bouton ON de tes hauts parleurs ... ;)
waouuuw c est genial comme truc !!!
ca fonctionne impec... en faite mes baffles etaient bien sur on mes les fichiers dans le mauvais repertoire duuh :roll:
merci beaucoup !!
une derniere chose... comment fais tu pour que la musique s arrete une fois l application terminee... car chez moi elle continue
pour l'arreter, rien n'est prévu, mais tu peux creer une methode arreter() qui fait un clip.stop() et tu appelle cette methode avant de quitter l'appli.
(je n'ai pas essayé)
once again, ca fonctionne nikel merci :applo: :ccool:
et pour les mp3, ca marche aussi?
je n'ai pas essayé, mais je ne crois pas. je pense que ca ne marche qu'avec les wav. mais bon, tu peux toujours essayer.
chez moins les mp3 ne fonctionnent pas.. :oops: mais bhon les wav c est deja genial
merci
y a peut etre moyen en utilisant ca :
http://www.javazoom.net/javalayer/javalayer.html