#1 Le 04/02/2013, à 16:49
- compte supprimé
Comment jouer un son/musique en Java?
Bonjour,
Je développe actuellement un jeu en Java. (Oui, j'accepte qu'on me rigole au nez.. et c'est vrai que c'est lent, mais bon.. le multi-threading aide beaucoup)
Et comme vous l'auriez deviné, je veux jouer des sons.. en Java.
Alors voici un copie-collé d'une classe que j'ai récupéré sur internet et modifié:
package jbx;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
import controleur.Parametres;
public class Son {
/** url : adresse du fichier wav */
private String url;
/** son : le son correspondant, nécéssairement final car
* Audio player est un Thread*/
private final AudioStream son;
/**
* Constructeur
* @param url : adresse du fichier Wav
* @throws IOException
* @throws FileNotFoundException
*/
public Son(String url) throws FileNotFoundException, IOException{
this.setUrl(url);
this.son=new AudioStream(new FileInputStream(this.getUrl()));
}
public void play(){
AudioPlayer.player.start(this.son);
}
public void pause(){
AudioPlayer.player.stop(this.son);
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public AudioStream getSon() {
return son;
}
}
Et après pour executer ce son dans mon code, je:
try{
String url="jump.mod";
Son son = new Son(url);
son.play();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
Sauf que.. ça marche pas à la compilation! (ZUT!!)
./jbxsrc/jbx/Son.java:12: warning: sun.audio.AudioPlayer is internal proprietary API and may be removed in a future release
import sun.audio.AudioPlayer;
^
./jbxsrc/jbx/Son.java:13: warning: sun.audio.AudioStream is internal proprietary API and may be removed in a future release
import sun.audio.AudioStream;
^
./jbxsrc/jbx/Son.java:14: package controleur does not exist
import controleur.Parametres;
^
./jbxsrc/jbx/Son.java:21: warning: sun.audio.AudioStream is internal proprietary API and may be removed in a future release
private final AudioStream son;
^
./jbxsrc/jbx/Son.java:44: warning: sun.audio.AudioStream is internal proprietary API and may be removed in a future release
public AudioStream getSon() {
^
./jbxsrc/jbx/Son.java:30: warning: sun.audio.AudioStream is internal proprietary API and may be removed in a future release
this.son=new AudioStream(new FileInputStream(this.getUrl()));
^
./jbxsrc/jbx/Son.java:33: warning: sun.audio.AudioPlayer is internal proprietary API and may be removed in a future release
AudioPlayer.player.start(this.son);
^
./jbxsrc/jbx/Son.java:36: warning: sun.audio.AudioPlayer is internal proprietary API and may be removed in a future release
AudioPlayer.player.stop(this.son);
^
1 error
7 warnings
mv: impossible d'évaluer «./jbxsrc/jbx/*.class»: Aucun fichier ou dossier de ce type
Je suis fatigué, pouvez-vous m'aider à jouer un simple son ou une musique en java, s'il vous plait.
#2 Le 04/02/2013, à 17:15
- Maisondouf
Re : Comment jouer un son/musique en Java?
A quoi ça sert ça:
import controleur.Parametres;
C'est une autre classe à toi ?
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#3 Le 04/02/2013, à 18:06
- compte supprimé
Re : Comment jouer un son/musique en Java?
Exact, j'ai pas vérifié les import.
J'en ai aucune idée mais je ne pense pas qu'il serve, si?
Je ne suis pas du genre à copier-coller mes scripts, je fais tout moi-même..
Mais là, pour le coup, ca commence à m'agacer un peu.
En C avec la SDL, le tour est joué assez simplement pour jouer un simple son.
En java.. tu galères à chercher un outil te permettant d'en jouer un.
Je veux juste charger et jouer des musiques et des sons. :'( Est-ce trop demander? Java nous envoie à chaque fois la grosse artillerie! :'(
Donc pour fonctionner je dois télécharger tout c'qui manque, ie:
import sun.audio.*
(je suis trop blasé de java)
O`u sont-ils et comment je les installe? Telle est la question..
(Alalah pourquoi m'est-il venu l'idée de développer un jeu en Java? Parce que java est portable, oui oui! Sauf qu'awt n'est pas supportée par les plateformes androids d'après mes amis.. j'ai pas vérifié.. )
Dernière modification par ChrisLeturc (Le 04/02/2013, à 18:11)