Menu

Jouer de la musique format wav

Help-Jason 1848 Messages postés mardi 28 juin 2011Date d'inscription 24 mai 2018 Dernière intervention - 13 mai 2018 à 20:59 - Dernière réponse : Help-Jason 1848 Messages postés mardi 28 juin 2011Date d'inscription 24 mai 2018 Dernière intervention
- 14 mai 2018 à 18:13
Bonjour,

D'après mes recherches, j'ai trouvé ce morceau de code pour jouer un fichier au format .wav dans une application Java :
                        // s_url string path to .wav file
                        File f = new File(s_url);
			URL url = f.toURI().toURL();
			AudioInputStream a = AudioSystem.getAudioInputStream(url);
			Mixer.Info[] arrMixerInfo = AudioSystem.getMixerInfo();
			Clip clip1 = AudioSystem.getClip(arrMixerInfo[0]);
			clip1.open(a);
			clip1.start();
			clip1.close();


Ce bout de programme ne fonctionne pas chez moi. J'ai tenté de débuger un petit peu :
- L'URL est correct : url.getPath() me renvoie le chemin absolu vers mon fichier
- Le buffer de AudioInputStream n'est pas vide : a.getFrameLength() renvoie 631343
- Le channel 0 est défini : arrMixerInfo[0].getName() renvoie Périphérique audio principal
- Le buffer de clip1 après son instanciation est vide : clip1.getFrameLength() renvoie 0
- Le buffer de clip1 est de même taille que celui AudioInputStream : clip1.getFrameLength() renvoie 631343

Aucun autre channel de Mixer.Info ne fonctionne en dehors du premier.
J'ai essayé plusieurs solutions mais toutes compliquées et ne résout pas le problème.

Merci de bien vouloir m'éclairer.
Afficher la suite 

Votre réponse

2 réponses

KX 15444 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 25 mai 2018 Dernière intervention - 13 mai 2018 à 23:12
0
Merci
Bonjour,

Quels sont tes imports ? Des javax.sound ? Ce sont d'anciennes classes Java 3+ (sorti en 2000 !!)
Avec JavaFX (Java 7+) de nouvelles classes sont apparues, tu devrais regarder de ce côté.

Exemple :
// import javafx.scene.media.AudioClip;
AudioClip clip = new AudioClip(s_url);
clip.play();

Voir la documentation :
https://docs.oracle.com/javase/10/docs/api/javafx/scene/media/AudioClip.html
Help-Jason 1848 Messages postés mardi 28 juin 2011Date d'inscription 24 mai 2018 Dernière intervention - 14 mai 2018 à 18:13
J'avais trouvé une solution similaire mais il fallait que mon application Java soit une applet. Il semblerait qu'ici ça ne soit pas le cas. Cependant, le programme ne fait rien lorsqu'il est lancé.
Commenter la réponse de KX