延迟Java.Clip静音控件

时间:2013-11-17 15:05:26

标签: java audio controls javasound clip

所以我用Java编写这种类型的游戏,你可以像Guitar Hero一样玩游戏。我可以播放歌曲的两个部分(歌曲和吉他),到目前为止一切都很好。 接下来,当有人错过了一把钥匙时,我需要将吉他部分静音。问题是,从我将Clip静音到实际静音的那一刻,有大约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);
     }

1 个答案:

答案 0 :(得分:0)

结束Radiodef的回答并使用字节流。我有一个填充0的缓冲区,我将其输出或正常音频输出到流。