A voir également:
- Audio java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Forum Jeux vidéo
- Realtek audio driver - Télécharger - Pilotes & Matériel
- Java apk - Télécharger - Langages
- Waptrick java - Forum Mobile
4 réponses
mat.
Messages postés
150
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
1 septembre 2009
21
27 sept. 2008 à 19:33
27 sept. 2008 à 19:33
OK, je comprends.
Alors pour mettre du .wav, il faut une librery spécial mais comme je pense que c'est plus simple d'avoir la class qu'il faut plutôt que de télécharger une librery pour qu'une class...
Donc voici la class qu'il faut :
et pour lire la musique il faut mettre dans ton code :
C'est la façon la plus simple d'après mes connaissances.
Alors pour mettre du .wav, il faut une librery spécial mais comme je pense que c'est plus simple d'avoir la class qu'il faut plutôt que de télécharger une librery pour qu'une class...
Donc voici la class qu'il faut :
import java.io.DataInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; public class Sound { private AudioFormat format; private byte[] samples; public Sound(String filename) { try { AudioInputStream stream = AudioSystem.getAudioInputStream(new File(filename)); format = stream.getFormat(); samples = getSamples(stream); } catch (Exception e) { } } public byte[] getSamples() { return samples; } public byte[] getSamples(AudioInputStream stream) { int length = (int) (stream.getFrameLength() * format.getFrameSize()); byte[] samples = new byte[length]; DataInputStream in = new DataInputStream(stream); try { in.readFully(samples); } catch (Exception e) { } return samples; } public void play(InputStream source) { int bufferSize = format.getFrameSize() * Math.round(format.getSampleRate() / 10); byte[] buffer = new byte[bufferSize]; SourceDataLine line; try { DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); line = (SourceDataLine) AudioSystem.getLine(info); line.open(format, bufferSize); } catch (LineUnavailableException e) { e.printStackTrace(); return; } line.start(); try { int numBytesRead = 0; while (numBytesRead != -1) { numBytesRead = source.read(buffer, 0, buffer.length); if (numBytesRead != -1) line.write(buffer, 0, numBytesRead); } } catch (IOException e) { e.printStackTrace(); } line.drain(); line.close(); } }
et pour lire la musique il faut mettre dans ton code :
Sound player = new Sound("ton fichier.wav"); InputStream stream = new ByteArrayInputStream(player.getSamples()); player.play(stream);
C'est la façon la plus simple d'après mes connaissances.
mat.
Messages postés
150
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
1 septembre 2009
21
14 sept. 2008 à 16:08
14 sept. 2008 à 16:08
Bonjour,
Pas besoin de librery, vas sur codessources.com :
http://www.javafr.com/
Example de lecteur de musique :
http://www.javafr.com/...
le seul problème est que pour télécharger tous sans copier fichier par fichier il faut s'inscrire mais tu peut t'inscrire gratuitement.
Pas besoin de librery, vas sur codessources.com :
http://www.javafr.com/
Example de lecteur de musique :
http://www.javafr.com/...
le seul problème est que pour télécharger tous sans copier fichier par fichier il faut s'inscrire mais tu peut t'inscrire gratuitement.
merci pour les liens, mais je voulais le programmer moi meme... donc je vais me debrouiller toute seule.
Hello
Je suis en train d'essayer de tester ta classe (attention, je suis novice en java).
j'ai mis
""Sound player = new Sound("ton fichier.wav");
InputStream stream = new ByteArrayInputStream(player.getSamples());
player.play(stream);""
dans la fonction main, mais rien ne se passe.
Déjà, pour appeler le son, j'ai mis mon .wav au meme niveau que mes fichier java. Cela va-t-il? (j'ai testé en mettant du coup "monFichier.wav", puis en mettant le chemin complet depuis la racine du DD.)
Si tu peux m'éclairer un peu please
Merci d'avance
Je suis en train d'essayer de tester ta classe (attention, je suis novice en java).
j'ai mis
""Sound player = new Sound("ton fichier.wav");
InputStream stream = new ByteArrayInputStream(player.getSamples());
player.play(stream);""
dans la fonction main, mais rien ne se passe.
Déjà, pour appeler le son, j'ai mis mon .wav au meme niveau que mes fichier java. Cela va-t-il? (j'ai testé en mettant du coup "monFichier.wav", puis en mettant le chemin complet depuis la racine du DD.)
Si tu peux m'éclairer un peu please
Merci d'avance
7 avril 2013 à 13:41