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 :

Comment jouer du son


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Par défaut Comment jouer du son
    Bonjour

    j'utilise Eclipse pour debuter la programmation en java. J'aimerais créer un programme qui joue un son.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    AudioClip ac;
    ac=getAudioClip(// Que doit je mettre ici?); 
    ac.play();
    Mon fichier son s'apelle bip.au

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Par défaut
    ca y est j'ai réussi a jouer un son grace a une classe sound trouvé sur le net. Néanmoins il me reste un petit problème : il faut impérativement qu'il n'y ai aucun delai entre le moment du clic et le debut du son. Or en utilisant la methode "play" ci dessous il y a un delai d'une petite seconde entre le moment ou je clique sur le bouton de l'interface graphique et le début du son.
    Voici la classe sound :
    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
     
    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);
    		//System.out.println(bufferSize);
    		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();
    	}
     
     
     
    }
    Pouvez-vous m'aider ???

Discussions similaires

  1. [vb.net][Sound] comment jouer un son
    Par arnolem dans le forum Windows Forms
    Réponses: 9
    Dernier message: 11/02/2008, 22h57
  2. [VB 2005] Comment jouer un son?
    Par Vinoo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/09/2006, 18h43
  3. Comment Jouer du son dans une application
    Par condor_01 dans le forum Multimédia
    Réponses: 3
    Dernier message: 28/07/2006, 10h26
  4. Comment jouer des sons dans un programme ???
    Par aldur_disciple dans le forum MFC
    Réponses: 8
    Dernier message: 17/08/2005, 12h10
  5. [J2ME]comment jouer un son en MIDP 1.0
    Par Arkan dans le forum Java ME
    Réponses: 3
    Dernier message: 12/04/2005, 10h32

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