Клип иногда не играет

У меня есть класс Sound, который содержит метод, который при вызове воспроизводит звук с помощью объекта Clip (в данном случаеclip).

public static void play() {
    clip.stop();                // The purpose of the first three lines
    clip.flush();               // is to restart the Clip object so it
    clip.setFramePosition(0);   // can be played multiple times.
    clip.start();
}

Создание экземпляра объекта Clip происходит в отдельном статическом методе, который вызывается до этого метода, поэтому вышеописанный метод может быть объявлен статическим.

Еще один класс, который реализуетKeyListener содержит следующий код:

public void keyPressed(KeyEvent e) {
    Sound.play(); // Sound is the class that implements the previous method.
}

Поэтому мой код должен воспроизводить звук, связанный сclip каждый раз, когда клавиша нажата. Однако, если я нажимаю клавишу быстро и многократно, звук иногда не воспроизводится. Это особенно заметно через некоторое время (кажется, что проблема ухудшается после каждого нажатия клавиши).

Почему это происходит, и как я могу обойти эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос