Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在OSX上加载MP3时出现奇怪错误_Java_Audio_Jlayer - Fatal编程技术网

Java 在OSX上加载MP3时出现奇怪错误

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.

我使用的是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.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();
    }
}