这是我的代码:
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声音每隔五秒播放一次。程序编译,但在播放一次后它不会重播。
感谢任何帮助! 西蒙
答案 0 :(得分:3)
这是执行操作的方法,您必须放置播放声音的代码。因为它是计时器所做的,所以它会定期调用action。
答案 1 :(得分:0)
您只在创建Morning对象时播放声音,并且由于您只在代码中创建一个Morning对象,因此声音仅播放一次。您需要创建更多Morning对象,或将播放声音的代码移动到actionPerformed()方法。