begin process at 2012 02 04 15:17:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > JOUER UN SON WAV JAVA

JOUER UN SON WAV JAVA


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Application Classé sous :audio, wav, lecteur, class, wave Niveau :Débutant Date de création :14/02/2005 Date de mise à jour :15/02/2005 11:36:57 Vu :33 832

Auteur : nounou21

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Voici une class qui permet de lire un son wav. Ceci s adresse au gens qui font de java du Felini (donc un certain chao), mais ils sont nombreux, Dieu merci.
Voilà  juste remplacer le fichier.wav part le votre et  c est tout !!!

Source

  • import java.io.*;
  • import javax.sound.sampled.*;
  • 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 (UnsupportedAudioFileException e){
  • e.printStackTrace();
  • }
  • catch (IOException e){
  • e.printStackTrace();
  • }
  • }
  • 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 (IOException e){
  • e.printStackTrace();
  • }
  • return samples;
  • }
  • public void play(InputStream source){
  • // 100 ms buffer for real time change to the sound stream
  • 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();
  • }
  • public static void main(String[] args){
  • sound player = new sound("beep.wav");
  • InputStream stream = new ByteArrayInputStream(player.getSamples());
  • player.play(stream);
  • System.exit(0);
  • }
  • }
import java.io.*;
import javax.sound.sampled.*;


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 (UnsupportedAudioFileException e){
			e.printStackTrace();
	}
	catch (IOException e){
			e.printStackTrace();
		}
	}
	
	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 (IOException e){
			e.printStackTrace();
		}
		return samples;
	}
	

	public void play(InputStream source){
		// 100 ms buffer for real time change to the sound stream
		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();
	}
	
	public static void main(String[] args){
		sound player = new sound("beep.wav");
		InputStream stream = new ByteArrayInputStream(player.getSamples());
		player.play(stream);
		System.exit(0);
	}
}

 Conclusion

elle est pas de moi, mais comme beaucoup de gens (débutant) pose la question...
et que j'aime le partage...  Robins des bois???


 Historique

15 février 2005 11:36:57 :

 Sources de la même categorie

Source avec Zip Source avec une capture [J2ME] MAILXPRESS, UNE PETITE APPLICATION D'ENVOI DE MAIL ÉC... par doderic
Source avec Zip CLIENT ET SERVEUR DE MESSAGERIES par lemout
Source avec Zip Source avec une capture NAVIGATEUR HTTP par lemout
Source avec Zip Source avec une capture PROGRAMME DE PARTAGE DE FICHIER EN RESEAUX par billatosco
Source avec Zip JET SPRING JSF PRIMEFACES par mendjijet

 Sources en rapport avec celle ci

Source avec Zip CONVERSION D'UN FICHIER IMAGE CD AUDIO CIF CRÉÉ PAR EASY CD ... par fridolindachs
MINIMP3PLAYER par phlyper
LIRE LES FICHIERS .WAV par Julien39
Source avec Zip Source avec une capture LECTEUR AUDIO AVEC JAVAFX par puccino1er
Source avec Zip JOUER UN SON WAV (A PARTIR DU CODE SOURCE DE NOUNOU21) par Femli

Commentaires et avis

Commentaire de GodConan le 14/02/2005 23:06:43

dommage pas de Zip ;-(

Commentaire de AbriBus le 16/02/2005 02:21:26

petite précision... ca marche pour le .wav si vous voulez faire plus, ca coute un peu plus cher, il faut utiliser la JMF 2.0 qui est sortie il y a maintenant quelque mois... je travaille avec en ce moment et si vous utilisez la Jdk 1.5 (sortie il y a quelques semaines) ils ont fait beaucoup de progres quand a la qualité du son (http://www.javafr.com/forum.v2.aspx?ID=341359).

nounou21> A propos de qualité, comment sortent les .wav avec javax.sound ?

ps: a bien y regarder, ce code me semble plus compliqué qu'en utilisant la JMF.

Commentaire de darkhorkeu le 01/09/2005 14:49:42

Grand merci pour avoir posté cette classe Sound. Elle m'est très utile.

Commentaire de punkchroot le 11/04/2006 15:09:36

Salut!

merci pour cette classe soud, elle m'a permis de débuter un projet sur lequel je dois bosser en ce moment.

A ce propos, mon projet (grosso modo), consiste à créer une mini table de mixage (en java swing) et je n'arrive pas à lire plusieurs sons en même temps avec la classe soud (donc c'est embetant)

Tu saurais comment résoudre ce problème? (en fait j'essaye de reproduire ça : http://www.martinsolveig.com/?page=remixyourself en swing ... tu vas me dire, c'est inutile mais bon on fait tout le temps ce qu'on veut dans la vie )

Merci à plus!

Commentaire de AbriBus le 12/04/2006 08:56:38

Salut PunkChroot,
J'ai realisé un projet assez complet, il ne fait pas du tout "table de mixage" mais c'est un lecteur de sons et de videos (mp3, wav, wma, mpeg, avi...)
A premiere vue, ca parait complexe quand tu vois le projet mais en realité, j'ai bien séparer les différents constituants (notamment en ce qui concerne le lecteur en lui meme, sans interface)... tu peux reprendre le code pour instancier n lecteurs qui joueront n fichier different de facon tout a fait asynchrone (ce qui m'avait d'ailleur joué pas mal de tours a l'epoque :s)
http://www.javafr.com/codes/MP3PLAYEUR_35518.aspx
Si tu as besoin d'un coup de main, n'hesites pas

AbriBus

Commentaire de supermantn le 21/06/2007 15:06:06

Merci beaucoup pour cette classe , elle est très utile .

Commentaire de biboobib le 28/04/2008 16:49:10

thnx!! ta class ma aider beaucoup!!

Commentaire de CHARAIFI le 17/02/2009 14:37:55

Salut à tous,
svp j'ai besion d'une application Java, qui convertit le son en signal,
merci d'avance de votre aide (e-mail ahf_i4@hotmail.com)

Commentaire de stiml le 18/06/2009 17:29:08

Bonjour tous le monde,

Je suis actuellement entrain de créer une application qui doit me générer un spectogramme ou audiogramme d'un fichier wav sous forme d'image.
Seulement je n'arrive pas à extraire les amplitudes d'un fichier wav... Est-on obligé de lire le fichier wav (lire dans le sens audible pour l'homme) pour récupérer les amplitudes ?
Merci d'avance pour vos précisions si vous en avez :)

StimL

Commentaire de bricolomi le 15/08/2009 10:55:18

Bonjour,
bien votre classe, comment faite pour modifier le volume du son et arrêter en cours de lecture (je suis débutant
merci
AHaile

Commentaire de Nadesh le 19/08/2009 10:48:58

Merci beaucoup pour cette classe ^^!!!

Commentaire de Heycko le 03/10/2010 17:57:18

Bonjour ^^
Je suis débutant en Java, et j'aurai besoin d'aide.
Pour utiliser cette classe sound dans un autre projet, il faut faire un applet non ?
Parce que quand je la colle directement dans le projet en question, j'ai une erreur au niveau du static void main, que j'utilise déja pour créer ma fenêtre. Si quelqu'un pourrait m'apporter des précisions ou me montrer où m'informer sur ce point, ce serait sympa. Merci !

Commentaire de oniichan62 le 20/05/2011 12:20:26

Alors Chapeau bas pour le code, parce que le seul code source que j'ai trouvé pour lire un WAV était explosé en 6 fichiers et le paramètre "fichier.wav" ne fonctionnait pas...

Féliciations et Merci !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

lecteur de fichiers audio [ par globule ]    Je cherche a rajouter sur mon site un lecteur de fichiers audio qui soit relativement esthétique, qui ne permette pas au visite Applet - lecteur audio [ par Proxyman ] Bonjour tout le monde , J'ai un petit problème et un ti coup d'pouce serais le bienvenu lol .. Voila j'ai installer un applet pour un server irc , il lecteur audio avec java [ par solo2010 ] salut à tous [^^happy10] j'ai développée un lecteur audio avec java mais mon problème c'es de représenté le spectre de signal en fonction de temps et Ouverture d'un lien .pls dans une lecteur audio (mp3) [ par broise ] Bonjour, J'ai une radio qui diffuse en stream à l'adresse suivante http://club977.com/CLUB977HI.pls, et je souhaiterai lorsque un visiteur vient sur Lecteur audio de preference mp3 [ par overbrave ] Salut a vous Dieu du code,Vous allez surement dire il chie dans la colle!rep : Mais nan, ( enfin si un peu ! ) c'est a cause d'un très grand &#23 lecteur audio jlayer [ par xtrem1 ] bonjour, je suis en train de réaliser un lecteur audio capable de lire du mp3 en utilisant le jlayer et je n'arrive pas a trouver de la documentation. Récupérer le flux vidéo et audio d'une caméra IP Dlink [ par fredman76 ] Bonjour, Je suis en train de développez une application web permettant de visualiser le flux vidéo d'une caméra Dlink (DCS-2121) donc pour ce point j lecture d'un fichier wave ou mp3 avec java [ par hammasaidi ] salut tt le monde[^^happy10] suis débutant en java quelqu'un peut m'aider? comment lire un fichier wav ou mp3 choisi par un JFileChoser?[^^confus2] me Fenetre et listener [ par aforpien ] Bonsoir à tous, J'essai de rafraichir des informations sur un jlabel présent dans une fenetre java de mon application, lorsque la fenetre est affiché spectrogramme d'un signal wav [ par hammasaidi ] salut à tous [^^happy10] j'ai développé un lecteur audio et je veut représenté le spectre du signal enregistrer dans la mémoire dans un Canvas.[^^con


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales