繁体   English   中英

我试图让这个文件在预定时间之后运行,但是它只运行了一次

[英]I am trying to get this file to run after scheduled time, however it only ran once

我试图让这个音频文件在给定时间后运行。 我知道我需要重置所有东西,我只是不知道 go 如何做到这一点。

我如何让它在设定的时间表上运行不止一次?

   Timer t = new java.util.Timer();
                TimerTask tt = new TimerTask() {
                    @Override
                    public void run() {
                        try {
                            audioClip.open(audioStream);
                        } catch (LineUnavailableException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        audioClip.start();
                        JOptionPane.showMessageDialog(null, "Click OK to Stop Music");
                        audioClip.stop();
                        t.cancel();
                    }
                };

        t.scheduleAtFixedRate(tt, 500, 1000);

您正在TimerTask运行方法中调用Timer 取消方法。 来自Timer 取消文档:

请注意,从由此计时器调用的计时器任务的 run 方法中调用此方法绝对保证正在进行的任务执行是此计时器将执行的最后一个任务执行。

然后这将按预期工作,因此如果您想要执行多个操作,请从 TimerTask run方法中删除t.cancel()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM