如何让我的程序每五秒重复一次声音?

时间:2014-11-06 19:17:09

标签: java

这是我的代码:

import java.awt.*;
import java.awt.event.*
import javax.swing.*;

public class Morning extends JFrame
implements ActionListener

{
  private EasySound rooster;
  private int time;

  public Morning()
    super("Morning");
    rooster = new EasySound("roost.wav");
    rooster.play();

    time = 0;
    Timer clock = new Timer(5000, this);
    clock.start();

    Container c = getContentPane();
    c.setBackground(Color.WHITE);
  }

  public static void main(String[] args)
  {
    Morning morning = new Morning();
    morning.setSize(300, 150);
    morning.setDefaultCloseOperation(EXIT_ON_CLOSE);
    morning.setVisible(true);
  }

  public void actionPerformed(ActionEvent e)
  {
    time++;
  }
}

所以我的问题是,如何让roost.wav声音每隔五秒播放一次。程序编译,但在播放一次后它不会重播。

感谢任何帮助! 西蒙

2 个答案:

答案 0 :(得分:3)

这是执行操作的方法,您必须放置播放声音的代码。因为它是计时器所做的,所以它会定期调用action。

答案 1 :(得分:0)

您只在创建Morning对象时播放声音,并且由于您只在代码中创建一个Morning对象,因此声音仅播放一次。您需要创建更多Morning对象,或将播放声音的代码移动到actionPerformed()方法。