IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Lire de la musique


Sujet :

avec Java

  1. #21
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Voici un code qui lit les fichier .wav mais pour la musique je ne sais pas, j'espère qu'il va résoudre ton problème:

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    import java.io.File;
     
    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 WavPlayer 
     {
         public static AudioInputStream audioStream = null;
         public static SourceDataLine line = null;
         private AudioFormat audioFormat = null;
     
         public WavPlayer(File f) throws Exception
         {
        	 //	recuperation d'un stream de type audio sur le fichier
        	 /** En théorie, pour lire un fichier son, il faut lire le contenu du fichier et 
              *  l'écrire sur la ligne qu'on a créer avec les paramètres qui vont bien.
              *  Pour la capture, on lit depuis la ligne qui va bien et on écrit dans un flux 
              *  sortant */
     
             audioStream = AudioSystem.getAudioInputStream(f);
     
             // recuperation du format de son
             audioFormat = audioStream.getFormat();
             System.out.println(audioFormat); 
     
             // recuperation du son que l'on va stoquer dans un objet de type SourceDataLine
             DataLine.Info info = new DataLine.Info(SourceDataLine.class,audioFormat);
     
             try 
             {
            	 //	recuperation d'une instance de type SourceDataLine
            	 line = (SourceDataLine) AudioSystem.getLine(info);
             } 
             catch (LineUnavailableException e) 
             {
    		     e.printStackTrace();
             }		
         }
     
         /**
          * Ouverture du flux audio
          * @return On retourne <code>false</code> si il y a eu une erreure
          */
         public boolean open()
         {    	 
                 try 
                 {
                	 line.open(audioFormat);
                 } 
                 catch (Exception e) 
                 {
                     e.printStackTrace();              //pour le debugage
                     return false;
                 }
             return true;
         }
     
         /**
          * Fermeture du flux audio
          */
         public void close()
         {
             line.close();
         }
     
         /**
          * On joue le son
          */
         public void play()
         {
     
        	 MonThread t = new MonThread();
        	 t.start();	
        	 System.out.println("test\n");
         }
     
         /**
          * On arrete le son
          */
         public void stop()
         {
        	 line.stop();
         }
     
         public static void main(String [] args)
         {       
        	 try {
                 WavPlayer wp = new WavPlayer(new File("C:\\Documents and Settings\\user\\Bureau\\lazer.wav"));
     
                 wp.open();
                 wp.play();
                 Thread.sleep(2000);   // fait patienter 0.1 seconde
                 /*int i = 0;
                  while(i <= 10){
                	 Thread.sleep(3000);   // fait patienter une seconde
                	 System.out.println(i);
                	 i++;
                 }*/
                 wp.stop();
                 wp.close();
                 System.out.println("\ndebug0");
        	 } 
        	 catch (Exception e)
        	 {
                 e.printStackTrace();
             }         
         }
     }

    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
    import java.io.IOException;
     
    public class MonThread extends Thread
    {	
    	public MonThread()
    	{
    	}
     
    	public void run()
    	{
    		WavPlayer.line.start();
    		 try {
    				byte bytes[] = new byte[1024];
    	 			int bytesRead=0;
    	 			// cette boucle permet de lire tout le fichier avant de s'arêter 
     
     
    	 			while (((bytesRead = WavPlayer.audioStream.read(bytes, 0, bytes.length)) != -1)) 
    	 			{
    	 				WavPlayer.line.write(bytes, 0, bytesRead);
     
    	 			}
    	 			for(int i=0;i<29;i++)
    	 			{
    	 				System.out.print( bytes[i]+" ");	
    	 			}	 				
    	 	 } 
    		 catch (IOException io)
    	 	 {
    	 		io.printStackTrace();
    	 		return;
    	 	 }	
    	}
    }
    Je veux comprendre une chose, pour éviter l'exception UnsupportedAudioFileException à votre avis qu'est-ce que je peux faire ? car ce code ne lit pas tous les wav.

    Merci pour toute aide ou suggestion.

  2. #22
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 70
    Points : 62
    Points
    62
    Par défaut
    Merci pour ton code Sendmi.

    Je regarderai un peu plus tard

    a+

Discussions similaires

  1. Quel langage utiliser pour lire de la musique sur le web
    Par Adel13 dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 24/12/2012, 18h26
  2. Module pour lire de la musique
    Par Perl53 dans le forum Modules
    Réponses: 6
    Dernier message: 16/02/2009, 16h31
  3. Lire plusieurs musiques avec SDL_mixer ?
    Par Darknicosh dans le forum SDL
    Réponses: 11
    Dernier message: 17/10/2006, 20h00
  4. [Librairies] lecteur mp3 pour lire un liste de musique
    Par j@yce dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 02/11/2005, 13h36
  5. [Audio] Comment lire les musiques sur un cd audio ?
    Par onlytoine dans le forum Multimédia
    Réponses: 3
    Dernier message: 10/07/2004, 22h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo