public void playOfflineWithEffect() {
		/* R�cup�ration de la taille d'un �chantillon */
		int sampleSize = format.getSampleSizeInBits();
		long nbSample = -1;

		/* Traitement en mono, et �ventuellement st�r�o */
		/* On regarde si le fichier audio est en st�r�o ou en mono */
		if (format.getChannels() == 1)
			nbSample = donnees.getFrameLength();
		else if (format.getChannels() == 2)
			/*
			 * Le fichier stereo donn� en entr�e sera converti en un fichier
			 * mono
			 */
			nbSample = donnees.getFrameLength() * 2;

		try {
			int i, j;
			int tabSize = (int) (sampleSize * nbSample / 8);

			/* Lecture compl�te du flux */
			byte b[] = new byte[tabSize];
			this.donnees.read(b);

			/* Erreur si non sign� */

			/* Passage d'octets en �chantillons */
			byte c[] = new byte[sampleSize / 8];
			int echantillons[] = new int[(int) nbSample];
			for (j = 0; j < nbSample; j++) {
				for (i = 0; i < sampleSize / 8; i++)
					c[i] = b[i + j * (sampleSize / 8)];
				echantillons[j] = AudioTools.bytes2sample(c);
				// System.err.println(echantillons[j]);
			}

			/* Application de l'effet */
			Gain totoGain = new Gain(2);
			int[] effet = totoGain.applyEffect(echantillons);

			/* Autres effets */
			// Fondu totoFondu = new Fondu();
			// int[] effet = totoFondu.applyEffect(echantillons);

			// Echo totoEcho = new Echo();
			// int[] effet = totoEcho.applyEffect(echantillons);
			
			// NoiseGate totoNoiseGate = new NoiseGate();
			// int[] effet = totoNoiseGate.applyEffect(echantillons);
			
			/* Passage d'�chantillons en octets */
			byte[] d = new byte[tabSize];
			byte[] e;
			for (i = 0; i < nbSample; i++) {
				e = AudioTools.sample2bytes(effet[i], sampleSize / 8);
				for (j = 0; j < sampleSize / 8; j++)
					d[j + i * sampleSize / 8] = e[j];
			}

			/* Debut de la ligne son */
			audioOutput.start();
			/* Envoi sur la carte son */
			audioOutput.write(d, 0, tabSize);
			/* Arret de la ligne son */
			audioOutput.stop();
		}

		catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}