【问题标题】:java.lang.NullPointerException with existing and correct file path具有现有且正确的文件路径的 java.lang.NullPointerException
【发布时间】:2013-10-27 10:07:56
【问题描述】:

我不明白为什么会这样:

java.lang.NullPointerException
    at com.sun.media.sound.StandardMidiFileReader.getSequence(Unknown Source)
    at javax.sound.midi.MidiSystem.getSequence(Unknown Source)
    at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)
    at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)

即使相同的代码在我的另一个应用程序中工作。文件路径正确,文件就在那里。我一无所知。

sound方法前的相关代码:

String soundpath = "res/sound.au";
sound(soundpath);

这是我的声音方法:

public static void sound(String path){
try {

AudioInputStream audio = AudioSystem.getAudioInputStream(SoundTest.class.getResource(path));
Clip clip = AudioSystem.getClip();
clip.open(audio);
clip.start();

} catch (Exception e) {
System.out.println("Might wanna check: " + path + "\n");
e.printStackTrace();
}

【问题讨论】:

  • 我已经尝试过几种不同的 WAV 格式,最近使用 .AU 声音文件,但总是遇到同样的错误。
  • 文件位于[项目文件夹]/src/res
  • 该文件需要在您的CLASSPATH 上。两个应用程序中的CLASSPATH 设置是否正确?
  • 您忘记停止剪辑了吗?
  • @RobinGreen 谢谢。就是这样。另一个应用程序没有定义的包,所以类路径不同。最简单的事情...您可以将其设置为您的答案,我将其设为绿色。

标签: java audio nullpointerexception clip


【解决方案1】:

该文件需要在您的CLASSPATH 上。两个应用程序中的CLASSPATH 设置是否正确?

【讨论】:

    【解决方案2】:

    当您尝试从空 URL 创建 AudioInputStream 时会发生此错误。

    【讨论】:

      猜你喜欢
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      相关资源
      最近更新 更多