Médiaforma

Java – Jouer des sons WAV

Print Friendly

Cette section va vous apprendre à jouer des sons WAV issus :

  • de votre arborescence de fichiers ;
  • des ressources de l’application ;
  • du Web.

 

Avant de commencer

Nous allons utiliser une applet pour jouer un son à travers l’interface AudioClip. Une applet Java est un petit programme exécuté à partir d’une application Java. Ici, nous utiliserons la méthode newAudioClip() pour obtenir un objet AudioClip à partir de l’URL qui lui est passée. Il suffira alors d’appliquer les méthodes play() et stop() à l’objet AudioClip obtenu pour lancer ou arrêter le son.

Passons à la pratique

Créez un nouveau projet de type Java Application sans classe main().

Ajoutez un jFrame Form au projet.

Insérez quatre boutons et modifiez leur propriété text pour obtenir le résultat suivant :

 

 

Ajoutez un contrôle File Chooser (sous Swing Windows) au projet.

Doucle-cliquez sur le premier bouton et complétez la méthode jButton1ActionPerformed() comme ceci :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
        int retour = jFileChooser1.showOpenDialog(this);
        if (retour == JFileChooser.APPROVE_OPTION) {
          f = jFileChooser1.getSelectedFile();
          System.out.println(f);
        }

        url = new URL("file:"+f);
        ac = Applet.newAudioClip(url);
        ac.play();
    } catch (Exception e) {
        System.out.println(e);
    }
}

 

Le premier bloc d’instructions permet de choisir un fichier WAV dans les unités de masse de l’ordinateur. Ce fichier est mémorisé dans la variable f.

Le deuxième bloc d’instructions définit l’URL correspondante, la passe à la méthode AudioClip() et déclenche la lecture.

Pour que ce code fonctionne, définissez les instructions import suivantes :

import java.applet.Applet;
import java.applet.AudioClip;
import java.net.URL;
import java.io.File;
import javax.swing.JFileChooser;

Et les variables suivantes :

URL;
AudioClip ac;
File f;

 

Le deuxième bouton joue un fichier WAV situé dans les ressources de l’application. Voici le code utilisé :

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
  try {
        url = getClass().getResource("/ressources/son.wav");
        ac = Applet.newAudioClip(url);
        ac.play();
        } catch (Exception e) {
            System.out.println(e);
        }
        System.out.println(url);
}

Le dossier ressources se trouve dans le dossier src et contient le fichier à jouer : son.wav :

 

 

Pour accéder à ce dossier, la syntaxe à utiliser est /ressources/son.wav.

Les instructions suivantes ressemblent à celles utilisées pour le premier bouton.

 

Le troisième bouton joue un son WAV situé sur une page Web. Voici le code utilisé :

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
try {
        url = new URL("http://www.mediaforma.com/encours/son.wav");
        ac = Applet.newAudioClip(url);
       ac.play();
    } catch (Exception e) {
        System.out.println(e);
    }
    System.out.println(url);
}

L’URL est obtenue en définissant une instance de la classe URL et en lui transmettant l’adresse URL du son :

url = new URL("http://www.mediaforma.com/encours/son.wav");

Les instructions suivantes sont similaires à celles utilisées par les autres boutons.

 

Enfin, pour mettre fin au son, il suffit d’appliquer la méthode stop() à l’objet ac :

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    ac.stop();
}
Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply