Java 在OSX上加载MP3时出现奇怪错误
我使用的是tritonus、mp3spi和jl1.0.1。当我尝试在Eclipse(OSX)中调试或运行时,它会抛出一个Java 在OSX上加载MP3时出现奇怪错误,java,audio,jlayer,Java,Audio,Jlayer,我使用的是tritonus、mp3spi和jl1.0.1。当我尝试在Eclipse(OSX)中调试或运行时,它会抛出一个NullPointerException。但在Windows上,它工作得很好。有什么建议吗?我很想让这项工作能够开展跨平台的工作 奇怪的是它只在Mac上 java.lang.NullPointerException at com.plake.audio.JukeBox.load(JukeBox.java:26) at com.plake.gamestate.
NullPointerException
。但在Windows上,它工作得很好。有什么建议吗?我很想让这项工作能够开展跨平台的工作
奇怪的是它只在Mac上
java.lang.NullPointerException
at com.plake.audio.JukeBox.load(JukeBox.java:26)
at com.plake.gamestate.MenuState.<init>(MenuState.java:59)
at com.plake.gamestate.GameStateManager.loadState(GameStateManager.java:85)
at com.plake.gamestate.GameStateManager.<init>(GameStateManager.java:49)
at com.plake.main.GamePanel.init(GamePanel.java:54)
at com.plake.main.GamePanel.run(GamePanel.java:59)
at java.lang.Thread.run(Thread.java:695)
错误在if语句之后我们可以分析一些代码吗?JukeBox类,特别是加载方法和第26行的突出显示会更好。我真蠢,抱歉@stuntmania
public static void load(final String s, final String n) {
try {
if (JukeBox.clips.get(n) != null) {
return;
}
final AudioInputStream ais = AudioSystem.getAudioInputStream(JukeBox.class.getResourceAsStream(s));
final AudioFormat baseFormat = ais.getFormat();
final AudioFormat decodeFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);
final AudioInputStream dais = AudioSystem.getAudioInputStream(decodeFormat, ais);
final Clip clip = AudioSystem.getClip();
clip.open(dais);
JukeBox.clips.put(n, clip);
}
catch (Exception e) {
e.printStackTrace();
}
}