package emergencylanding.k.library.sound;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.lwjgl.openal.AL;
import org.newdawn.slick.openal.Audio;
import org.newdawn.slick.openal.AudioLoader;
import org.newdawn.slick.openal.SoundStore;

import emergencylanding.k.library.util.LUtils;

public class SoundPlayer {
    static {
	Runtime.getRuntime().addShutdownHook(new Thread() {
	    @Override
	    public void run() {
		AL.destroy();
	    }
	});
    }

    private static Audio wavA;
    private static InputStream iStream;
    private static BufferedInputStream bStream;

    /**
     * Plays .wav file
     * 
     * @param soundFile
     */
    public static void playWAV(String soundFile) {
	playWAV(soundFile, 1.0f);
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     * @param volume
     */
    public static void playWAV(String soundFile, float volume) {
	playWAV(soundFile, volume, 1.0f);
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     * @param volume
     * @param pitch
     */
    public static void playWAV(String soundFile, float volume, float pitch) {
	playWAV(soundFile, volume, pitch, false);
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     * @param volume
     * @param pitch
     * @param loop
     */
    public static void playWAV(String soundFile, float volume, float pitch,
	    boolean loop) {
	try {
	    iStream = LUtils.getInputStream(soundFile);
	    bStream = new BufferedInputStream(iStream);
	    wavA = AudioLoader.getAudio("WAV", bStream);
	} catch (IOException e) {
	    e.printStackTrace();
	}

	SoundStore.get().setSoundVolume(volume);

	wavA.playAsSoundEffect(pitch, 1.0f, loop);
    }
}

package emergencylanding.k.library.sound;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.lwjgl.openal.AL;
import org.newdawn.slick.openal.Audio;
import org.newdawn.slick.openal.AudioLoader;
import org.newdawn.slick.openal.SoundStore;

import emergencylanding.k.library.util.LUtils;

public class SoundPlayer {
    static {
	Runtime.getRuntime().addShutdownHook(new Thread() {
	    @Override
	    public void run() {
		AL.destroy();
	    }
	});
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     */
    public static void playWAV(String soundFile) {
	playWAV(soundFile, 1.0f);
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     * @param volume
     */
    public static void playWAV(String soundFile, float volume) {
	playWAV(soundFile, volume, 1.0f);
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     * @param volume
     * @param pitch
     */
    public static void playWAV(String soundFile, float volume, float pitch) {
	playWAV(soundFile, volume, pitch, false);
    }

    /**
     * Plays .wav file
     * 
     * @param soundFile
     * @param volume
     * @param pitch
     * @param loop
     */
    public static void playWAV(String soundFile, float volume, float pitch,
	    boolean loop) {
	Audio wavA = null;
	try {
	    InputStream iStream = LUtils.getInputStream(soundFile);
	    BufferedInputStream bStream = new BufferedInputStream(iStream);
	    wavA = AudioLoader.getAudio("WAV", bStream);
	} catch (IOException e) {
	    e.printStackTrace();
	}

	SoundStore.get().setSoundVolume(volume);

	wavA.playAsSoundEffect(pitch, 1.0f, loop);
    }
}

Make the sound vars not static.