Exception in thread "main" java.lang.IllegalArgumentException: input == null!
原因
一般来说可能是文件的相对路径、绝对路径问题
解决方法
1、修改代码中的文件路径 比如图片路径或者其他文件的路径为你机器中的绝对路径,
2、然后重新运行。
如有问题及时沟通
首先添加musicstuff类,代码如下
public class musicStuff {
void playMusic(String musicLocation) {
try
{
File musicPath = new File(musicLocation);
if(musicPath.exists()) {
AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);
Clip clip = AudioSystem.getClip();
clip.open(audioInput);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
}else{ }
}catch(Exception ex){
ex.printStackTrace();
}
}}
然后主类中调用
String filepath = "chicken.wav";
musicStuff musicObject = new musicStuff();
musicObject.playMusic(filepath);
filepath对应的路径可以选择你本地的一个路径,一定要保证路径正确
是读取路径问题
程序执行的是.class文件,所以你使用相对目录时应该找编译好的文件的目录:
你应该在GameUtil类中测试获取当前目录,比如:
System.out.println(GameUtil.class.getClassLoader().getResource(""));
你会得到一个目录,然后将图片放入该目录下,而不是你的.java文件下的目录
代码是什么样的
是因为传过来的input参数是null导致的,检查下为什么会传空过来