public void init() {
    	byte[]  buffer = new byte[BUFFER_SIZE];
        try {
        	// Pour pouvoir Lire les fichier nous devons dabors le convertir sous format PCM
        	System.out.println(" acp "+file.getPath());
        	audioInputStream0 = AudioSystem.getAudioInputStream(file);
            audioInputStream = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED,audioInputStream0);
            
        } catch (UnsupportedAudioFileException e) {
            e.printStackTrace();
            return;
        } catch (IOException e) {
            e.printStackTrace();
            return;
        }
        
        //Recherche du mixer logiciel Java Sound Audio Engine
        for (Mixer.Info mixerInfo : AudioSystem.getMixerInfo()) {

            if (mixerInfo.getName().compareTo("Java Sound Audio Engine") == 0) {
                mixer = AudioSystem.getMixer(mixerInfo);
                break;
            }

        }

        // Il est n�cessaire de conna�tre le format audio du fichier
        // d'entr�e
        // pour permettre � java de cr�er l'objet DataLine ad�quat
        audioFormat = audioInputStream.getFormat();

        // En plus du format du flux audio d'entr�e il est n�cessaire de
        // sp�cifier le type de DataLine qu'on veut
        // ici le DataLine qu'on souhaite est un SourceDataLine qui permet
        // la
        // lecture (targetDataLine permet l'enregistrement).

        DataLine.Info info = new DataLine.Info(SourceDataLine.class,
                audioFormat);

        // On r�cup�re le DataLine ad�quat et on l'ouvre
        try {
            line = (SourceDataLine) AudioSystem.getLine(info);
            //line = (SourceDataLine) mixer.getLine(info);
             line.open(audioFormat);
        } catch (LineUnavailableException e) {
            e.printStackTrace();
            return;
        }

        if (line.isControlSupported(BooleanControl.Type.MUTE)) {
            muteControl = (BooleanControl) line
                    .getControl(BooleanControl.Type.MUTE);
        }
        if (line.isControlSupported(FloatControl.Type.MASTER_GAIN)) {
            masterGainControl = (FloatControl) line
                    .getControl(FloatControl.Type.MASTER_GAIN);
        }
        if (line.isControlSupported(FloatControl.Type.PAN)) {
            panControl = (FloatControl) line.getControl(FloatControl.Type.PAN);
        }
        if (line.isControlSupported(FloatControl.Type.SAMPLE_RATE)) {
            sampleRateControl = (FloatControl) line
                    .getControl(FloatControl.Type.SAMPLE_RATE);

        }

    }