Jouer et arrêter un son wav

Contenu du snippet

import java.io.File;
 
 import javax.sound.sampled.AudioFormat;
 import javax.sound.sampled.AudioInputStream;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;
 import javax.sound.sampled.DataLine;
 
 
 public class WavPlayer {    
 
     private Clip clip = null;
     private AudioInputStream audioStream = null;
     
     public WavPlayer(File f) throws Exception{
         audioStream = AudioSystem.getAudioInputStream(f);//recuperation d'un stream de type audo sur le fichier
         AudioFormat audioFormat = audioStream.getFormat();//recuperation du format de son
         //recuperation du son que l'on va stoquer dans un oblet de type clip
         DataLine.Info info = new DataLine.Info(
                 Clip.class, audioStream.getFormat(),
                 ((int) audioStream.getFrameLength() * audioFormat.getFrameSize()));
         //recuperation d'une instance de type Clip
         clip = (Clip) AudioSystem.getLine(info);
         
     }
     
     /**
      * Ouverture du flux audio
      * @return On retourne <code>false
si il y a eu une erreure
     */
    public boolean open(){
        if(clip != null && !clip.isOpen())//teste pour ne pas le faire dans le vent
            try {
                clip.open(audioStream);
            } catch (Exception e) {
                e.printStackTrace();//pour le debugage
                return false;
            }
        return true;
    }
    
    /**
     * Fermeture du flux audio
     */
    public void close(){
        if(clip != null && clip.isOpen())//teste pour ne pas le faire dans le vent
            clip.close();
    }
    
    /**
     * On joue le son
     */
    public void play(){
        if(clip != null && clip.isOpen())
            clip.start();
    }
    
    /**
     * On arrete le son
     */
    public void stop(){
        if(clip != null && clip.isOpen())
            clip.stop();
    }
    
    
    public static void main(String [] args){
        try {
            WavPlayer wp = new WavPlayer(new File("fichier.wav"));
            wp.open();//ouverture du flux
            wp.play();//lecture
            wp.stop();//arret
            wp.close();//pour etre propre on ferme le flux quand il n'est plus utile :D
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}
</code>

Compatibilité : Java

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.