Witam w aplikacji co jakis czas odtwarzam dzwiek. Sluzy do tego metoda:

   private void playSound(String name) {
        try {
            Clip clip = AudioSystem.getClip();
            URL url = getClass().getResource("res/" + name);
            AudioInputStream ais = AudioSystem.getAudioInputStream(url);
            clip.open(ais);
            clip.start();
        } catch (LineUnavailableException | UnsupportedAudioFileException | IOException ex) {
            ex.printStackTrace();
        }
    }

Jednak po 32 odtworzeniach wyrzuca wyjatek LineUnavailableException. Wklejanie calego kodu nie ma znaczenia bo to zawsze sie dzieje niezaleznie czy bedzie to jedyna instrukcja w pliku, niezaleznie czy bede otwrazal co 20ms czy 100, zawsze po 29 razach wyrzuca wyjatek. Dlaczego tak sie dzieje? Na jakims forum ktos doradzal by zamykac clip, wiec po *clip.start() *dodalem watek ktory czeka 500ms (zeby dzwiek zdazyl sie odtworzyc) po czym wywlouje clip.close(). Efekt byl taki ze co 32 wywolan caly program zawierszal sie na 2 sekundy po czym szedl dalej i tak w kolko. Czy ktos moze mi wyjasnic to dziwne zachowanie i sposob na jego rozwiazanie?