java.io.IOException: marca / reinicio no admitido Secuencia de entrada de audio Java / Secuencia de entrada almacenada

Estoy en el proceso de crear un juego de plataforma Java en 2D y estoy intentando que el audio se reproduzca desde un archivo .wav mientras el juego se está ejecutando …

A continuación se muestra una clase de AudioPlayer que creé para cargar el recurso en una Secuencia de entrada de audio.

import javax.sound.sampled.*; import java.io.*; import java.util.*; import java.net.*; public class AudioPlayer { private Clip clip; public AudioPlayer(String s) { try { /************/ InputStream is = getClass().getResourceAsStream(s); AudioInputStream ais; BufferedInputStream bis = new BufferedInputStream(is); ais = AudioSystem.getAudioInputStream(bis); /************/ AudioFormat baseFormat = ais.getFormat(); AudioFormat decodeFormat = new AudioFormat( AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false); AudioInputStream dais = AudioSystem.getAudioInputStream(decodeFormat, ais); clip = AudioSystem.getClip(); clip.open(dais); } catch(Exception e) { e.printStackTrace(); } } public void play() { if(clip == null) return; stop(); clip.setFramePosition(0); clip.start(); } public void stop() { if(clip.isRunning()) clip.stop(); } public void toggle() { if(clip.isRunning()) { clip.stop(); } else { clip.start(); } } public void close() { stop(); clip.close(); } } 

Cuando compilo y ejecuto el juego directamente desde el código fuente, el audio funciona bien, pero cuando bash comprimir los archivos en un formato .jar y ejecutar el archivo .jar, aparece el error:

 java.io.IOException: mark/reset not supported at java.util.zip.InflaterInputStream.reset(Unknown Source) at java.io.FilterInputStream.reset(Unknown Source) at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source) at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source) at audio.AudioPlayer.<AudioPlayer.java:18) ... 

No estoy seguro de si configuro la Corriente de entrada en búfer correctamente para que el juego se ejecute en formato .jar.

Cualquier comentario sobre cómo resolver este problema sería muy apreciado.

¡Gracias!