我如何制作这个声音循环?

时间:2012-07-29 08:08:29

标签: java audio javasound stack-overflow

我正在尝试在此代码中循环声音。在主要尝试和捕获的finally块中,我这样做:

    if (loop) {
        auline.flush();
        run();
    } else {
        ended=true;
        auline.drain();
        auline.close();
    }

但它会导致堆栈溢出。如何在不创建新实例的情况下安全地循环此声音?

1 个答案:

答案 0 :(得分:3)

您正在run内拨打run,这最终会填满调用堆栈&导致堆栈溢出异常

现在,问题是,你如何克服它?

您需要在run方法中循环。我能想到的最好方法是在run方法中使用“exit”触发器

public void run() {
    while(loop) {
        //...play sound
    }
}

您可以使用stop方法同时触发loop标记