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
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 : 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 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 : Sélectionner tout - Visualiser dans une fenêtre à part Son s = new Son("MonSon.wav");
pour créer un son donc le fichier se trouve dans le repertoire parent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Son s = new Son("sousrep/MonSon.wav");
etc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Son s = new Son("../MonSon.wav");
et pour jouer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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
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é)
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.. mais bhon les wav c est deja genial
merci
y a peut etre moyen en utilisant ca :
http://www.javazoom.net/javalayer/javalayer.html
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager