Java.Clip静音控件上的延迟

Java.Clip静音控件上的延迟,java,audio,controls,javasound,clip,Java,Audio,Controls,Javasound,Clip,所以我在用Java写这种游戏,你可以像吉他英雄一样玩。我能演奏这首歌的两个部分(歌曲和吉他),到目前为止我弹得很好。 接下来,当有人错过一把钥匙时,我需要将吉他部分静音。问题是,从我使剪辑静音的那一刻起,到它实际静音为止,大约有1秒的延迟。 如何解决这一延误 try { audioIn = AudioSystem.getAudioInputStream(new File("guitar.wav")); guitar = AudioSystem.getCli

所以我在用Java写这种游戏,你可以像吉他英雄一样玩。我能演奏这首歌的两个部分(歌曲和吉他),到目前为止我弹得很好。 接下来,当有人错过一把钥匙时,我需要将吉他部分静音。问题是,从我使剪辑静音的那一刻起,到它实际静音为止,大约有1秒的延迟。 如何解决这一延误

    try {
        audioIn = AudioSystem.getAudioInputStream(new File("guitar.wav"));
        guitar = AudioSystem.getClip();
        guitar.open(audioIn);
    } catch (Exception e) {}
    guitar.start();

    volume = (BooleanControl) guitar.getControl(BooleanControl.Type.MUTE);
游戏中的循环:

    if (missedKey()) {
        volume.setValue(true);
     } else {
        volume.setValue(false);
     }

最终按照Radiodef的回答使用字节流。我有一个0填充的缓冲区,我可以将该缓冲区或正常音频输出到流中。

要更快获得更好的帮助,请发布一个。不要使用剪辑,请使用输入流/输出流。然后将零输出到流以使其静音,这可能会更具响应性。