Java Sound для некоторых операций требует перемещения (поддерживается отметка / сброс) входных потоков. Если вы столкнулись с этой проблемой, то это потому, что поток не может быть перемещен.
Один из способов обойти это - поместить byte[]
исходного потока в ByteArrayInputStream
, который поддерживает метку / сброс.
Второй ответ на вопрос, связанный с Эриком Р., также возможен и выглядит проще. Чтобы попробовать, измените ..
InputStream is = this.getClass().getClassLoader().getResourceAsStream("beep.wav");
inputStream = AudioSystem.getAudioInputStream(is);
Кому:
URL url = this.getClass().getClassLoader().getResource("beep.wav");
inputStream = AudioSystem.getAudioInputStream(url);