Clip a veces no se reproduce

Tengo una clase de sonido que contiene un método que, cuando se llama, reproduce un sonido usando un objeto Clip (en este caso,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();
}

La creación de instancias del objeto Clip se produce en un método estático separado que se llama antes de este método, por lo que el método anterior se puede declarar estático.

Otra clase que implementaKeyListener contiene el siguiente código:

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

Por lo tanto, mi código debería reproducir el sonido asociado conclip cada vez que se presiona una tecla. Sin embargo, si presiono una tecla rápida y repetidamente, el sonido a veces no se reproducirá. Esto es especialmente notable después de un tiempo (parece que el problema empeora después de cada pulsación de tecla).

¿Por qué sucede esto y cómo puedo evitar este problema?

Respuestas a la pregunta(2)

Su respuesta a la pregunta