这个问题本身有点广泛,但是这里的问题很具体。我遇到的麻烦是声音。我在这里有这段代码:
private Clip clip;
public void play(String file) //plays audio file
{
File f = new File(file);
try{
AudioInputStream ais = AudioSystem.getAudioInputStream(f);
clip.open(ais);
clip.start();
Thread.sleep(39000);
clip.close();
clip.drain();
}
catch(Exception exc)
{ exc.printStackTrace(System.out);}
}
public static void main(String[] args)
{
play("DoND Theme.wav");
}
将Clip设为私有的原因是,我可以在单击按钮时调用它:
public void actionPerformed(ActionEvent event)
{
if(event.getSource()== start)
{
clip.stop();
this.dispose();
Game gameWindow = new Game();
}
}
但是,我在“主要”部分遇到一个错误,即无法从静态上下文中引用非静态方法。我做错了什么?我尝试过修改静态和/或公开的其他内容,但最终没有成功。预先感谢。