Вероятно, вы захотите установить frame position
клипа, используя Clip # setFramePosition , равным 0. Вы захотите вызвать это перед Clip#start
. Вам также необходимо проверить, является ли тип LineEvent
значением LineEvent.Type # STOP , чтобы убедиться, что событие является событием обновления или закрытием, и это действительно так, когда оно останавливается.
@Override
public void update(LineEvent event) {
try {
if (event.getType() == LineEvent.Type.STOP) {
clip.setFramePosition(0);
clip.start();
Thread.sleep(clip.getMicrosecondLength() / 1000);
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}