Альтернативная теория для уже представленных.Часто успешные вызовы getResource () зависят от экземпляра загрузчика классов, который вызывается для их обнаружения.По этой причине я бы рекомендовал использовать экземпляр определенного пользователем объекта, из которого вызывается getResource ().EG
// Sanity check
System.out.println("The value of 'file' is: " + file);
// Presuming kidsClassRoom1 is an instance of kidsClassRoom
AudioInputStream inputStream = AudioSystem.
getAudioInputStream(
kidsClassRoom1.
getClass().
getResourceAsStream("/resources/"+file));
Вы также можете заметить, что фрагмент использует префикс "/" для ресурса.Вопреки тому, что говорят другие, я уверен, что это означает «из корня» пути к ресурсу, независимо от того, какой Jar-путь на пути к классам выполнения найден.Если вы укажете '/' или '../', загрузчик класса будет искать ресурс в подпуть того класса, в котором это происходит.
Конечно - убедитесь, что Wav завершает работув банке!Скопируйте / переименуйте файл .jar в .zip и дважды щелкните его, чтобы быстро и грязно проверить содержимое архива в Windows.