Bonjour
je voudrais savoir si on pouvait lire de la musique lors de l ouverture de sa JFrame. SI oui, quel format audio peut on lire et comment le faire?
Merci de votre aide
Bonjour
je voudrais savoir si on pouvait lire de la musique lors de l ouverture de sa JFrame. SI oui, quel format audio peut on lire et comment le faire?
Merci de votre aide
Pour la methode la plus simple il te suffit de creer un nouvel objet AudioClip a partir d'un son WAV (encode en PCM je crois). .au ou autres formats de base.
Ensuite dans les packages javax.sound tu as des objets methodes permettant de jouer egalement du MIDI et du WAV.
Pour des format plus complexes (MP3) voir avec le Java Media Framework chez Sun.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Bonjour !
Je suis un nouveau depuis Dimanche 22 mars 2015, heure 16h32 et je débute dans programmation.
Et je voulais crée un logiciel, j'ai commencer par apprendre a crée une fenêtre, et là je voudrais ajouté à cette fenêtre une musique de fond quand elle démarre, mais je viens de découvrir ce forum qui répond a mes attentes, mais il me manque le code pour faire l'étape de la mise en place d'une musique quand fenêtre s'ouvre.S'il vous plait ça serait sympa de m'aider pour quelqu'un qui débute dans cette voix là.Merci de votre compréhension.
Cordialement JudoDx99 le débutant en programmation JAVA.
Salut,
Avec la classe AudioClip, dont il est question dans la discussion :
Autre solution plus direct (sans passer par Applet) :
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 public static void main(String[] args) { // chargement du son (le fichier doit être au même endroit que la classe - dans ton IDE, tu le mets au même endroit que le .java) URL url = DemoFrameMusic.class.getResource("sound.wav"); final AudioClip clip = Applet.newAudioClip(url); JFrame frame = new JFrame("Démo"); // pour l'exécuter au moment ou la fenêtre s'ouvre frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { clip.play(); } }); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); // affichage donc ouverture }
Mais ces 2 méthodes ne permettent que de jouer un fichier d'extension .wav, pas .mp3 pour lequel il faut utiliser une bibliothèque externe.
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 public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException { // chargement du son (le fichier doit être au même endroit que la classe - dans ton IDE, tu le mets au même endroit que le .java) URL url = DemoFrameMusic.class.getResource("sound.wav"); final Clip clip = AudioSystem.getClip(); try(AudioInputStream audioIn = AudioSystem.getAudioInputStream(url)) { clip.open(audioIn); } JFrame frame = new JFrame("Démo"); // pour l'exécuter au moment ou la fenêtre s'ouvre frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { clip.start(); } }); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); // affichage donc ouverture }
Comme jLayer par exemple, dont voici un exemple de code pour jouer la musique :
Il te faut charger le zip ici, le décompresser copier jl1.0.1.jar dans ton projet, et l'ajouter au Build Path (la manière dépend de l'IDE que tu utilises).
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 public static void main(String[] args) { JFrame frame = new JFrame("Démo"); // pour l'exécuter au moment ou la fenêtre s'ouvre frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { // on doit utiliser un thread pour éviter de bloquer l'IHM new Thread() { public void run() { URL url = DemoFrameMusic.class.getResource("music.mp3"); try (InputStream audioIn = url.openStream()) { Player clip = new Player(audioIn); clip.play(); } catch (IOException | JavaLayerException e1) { e1.printStackTrace(); } }; }.start(); } }); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); // affichage donc ouverture }
Liens :
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
C'est normal quand j'ouvre la fenêtre sa ne veut pas jouer la musique ?
Je suppose que le fichier n'est pas trouvé (avec le code que je t'ai donné, le fichier doit être au même endroit que la classe : voir doc Class.getResource()/ClassLoader.getResource()).
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
C'est à dire dans le Frame.java
Si tu développes avec un IDE, mets le fichier dans le package (dossier) où se trouve le .java où est définie la classe sur laquelle on appelle getResource() (ou tu le mets ailleurs, et tu changes le chemin passé à getRessource()), il sera copié automatiquement à l'endroit où le .class est créé. Sinon, il faut le mettre toi-même dans le même dossier que le .class.
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 package Fr.developpez.demo; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import java.io.InputStream; import java.net.URL; import javax.swing.JFrame; import javazoom.jl.decoder.JavaLayerException; import javazoom.jl.player.Player; public class DemoMP3 { public static void main(String[] args) { JFrame frame = new JFrame("Démo"); // pour l'exécuter au moment ou la fenêtre s'ouvre frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { // on doit utiliser un thread pour éviter de bloquer l'IHM new Thread() { public void run() { URL url = DemoMP3.class.getResource("music.mp3"); // exemple avec autre dossier : URL url = DemoMP3.class.getResource("/musix/othermusic.mp3"); try (InputStream audioIn = url.openStream()) { Player clip = new Player(audioIn); clip.play(); } catch (IOException | JavaLayerException e1) { e1.printStackTrace(); } }; }.start(); } }); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); // affichage donc ouverture } }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
J'ai encore des problème alors je viens d’importer les importation nécessaire pour le code mais encore des erreur explique moi.
- Il faut monter le jar jl1.0.1.jar dans le Build Path. Il faut déjà le copier dans le projet (il faut l'avoir téléchargé évidemment), cliquer dessus avec le bouton "de droite" de la souris, puis faire Build Path / Add to Build Path.
- Le fichier que tu as mis dans ton projet est un .ogg : un .ogg n'est pas un .mp3, donc ça ne fonctionnera pas évidement (la bibliothqéque que je t'ai indiquée ne sait jouer que du mp3)
- Il faut bien entendu mettre le nom du fichier (dans mon cas il s'appellait music.mp3, et c'est pour ça que j'ai fait :
S'il c'était appeller tournicoti-tournicota.mp3, j'aurais mis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part URL url = DemoMP3.class.getResource("music.mp3");
Code : Sélectionner tout - Visualiser dans une fenêtre à part URL url = DemoMP3.class.getResource("tournicoti-tournicota.mp3");
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Dis toutes les étapes pour régler le problème.
Merci, vous êtes des pros j'avais juste oublié d'avoir JLayer qui peut faire marcher le import
Merci Merci Merci
Cordialement JudoDx99 un débutant dans le JAVA.
Si tu veux jouer du ogg au lieu de mp3, il te faut télécharger une bibliothèque adaptée (comme JOrbis, ) et regarder sur leur site la documentation pour jouer un son avec leur API.
Autre solution, utiliser des SPI avec l'API standard java, qu'on trouve sur ce site (voir en bas), mais c'est plus compliqué : cependant, tu as sur le site, toute l'explication pour utiliser les SPI (avec le code), dans l'onglet Document de chaque SPI.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
J'en prend note je suis tellement content que j'ai envie de rester sur ce forum.
Je voudrais créer une coche(CheckBox) pour fermer la musique si on veut l'enlever mais je n'arrive pas quelqu'un peut m'aider ?
C'est quoi tu n'arrives pas à faire : ajouter une boite à cocher ou arrête la musique ?
C'est étrange une boite à cocher ? Elle s'afficherait où cette boite à cocher ? Dans la fenêtre qui s'ouvre avec la musique ? Dans ce cas, ce serait plutôt un bouton, non ? Parce que qu'est-ce qu'il doit se passer si on reclique sur la boite à cocher ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Je veut juste créer un boite a coche qui est visible pour le reste je m'en occupe
Bah, tu crées une JCheckBox que tu places dans là où il faut.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
C'est beau tous ça mais le code je ne connais pas code qui permet dans créer
Voir tutoriel SWING comme
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
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