/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.utils; import java.applet.Applet; import java.applet.AudioClip; import org.apache.log4j.Logger; /** * Y a de la musique dans l'air.Sert � jouer deux beaux sons * * @author $Author: marcona $ * @version $Revision: 1.4 $ * */ public class JukeBox { Applet applet; // Log private static final Logger APP = Logger.getLogger(JukeBox.class); /** * Constructeur */ public JukeBox() { Applet app = new Applet(); } /** * Joue le son de la victoire et le lib�re sinon le p�riph�rique sonore reste occup� * pour les autres applications */ public void playSuccessSound() { AudioClip successClip = loadSuccessSound(); if (successClip != null) { successClip.play(); try { Thread.currentThread().sleep(1500); successClip = null; flushMemory(); } catch (InterruptedException ie) { ie.printStackTrace(); } } else { APP.debug("Impossible de jouer le son de Success"); } } /** * Joue le son de la d�faite et le lib�re sinon le p�riph�rique sonore reste occup� * pour les autres applications */ public void playFailureSound() { AudioClip failureClip = loadFailureSound(); if (failureClip != null) { failureClip.play(); try { Thread.currentThread().sleep(1500); failureClip = null; flushMemory(); } catch (InterruptedException ie) { ie.printStackTrace(); } } else { APP.debug("Impossible de jouer le son de Failure"); } } /** * Force le garbage collector */ private void flushMemory() { System.gc(); System.runFinalization(); } /** * Chargement du son de success * * @return Le son success */ private AudioClip loadSuccessSound() { return Applet.newAudioClip(JukeBox.class.getResource("/sons/Bravos.wav")); } /** * Chargement du son Failure * * @return Le son failure */ private AudioClip loadFailureSound() { return Applet.newAudioClip(JukeBox.class.getResource("/sons/Verre.wav")); } }