【问题标题】:Audio wav file not working anymore in java音频wav文件在java中不再工作
【发布时间】:2013-09-05 11:38:49
【问题描述】:

为什么下面的wav音频文件在java中不能播放,奇怪的是它可以工作,但是当我关闭Netbean并重新打开项目时,它就不再播放了。

如果我尝试URL url = new URL("http://pscode.org/media/leftright.wav"); 它可以工作?!?!

代码

URL url = this.getClass().getClassLoader().getResource("Audio/police.wav");
// URL url = new URL("http://pscode.org/media/leftright.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
Clip clip = AudioSystem.getClip();
clip.open(ais); 

错误是

Sep 05, 2013 9:40:40 PM javafxapplication4.JavaFXApplication4$1 run
SEVERE: null
java.lang.NullPointerException
    at com.sun.media.sound.StandardMidiFileReader.getSequence(StandardMidiFileReader.java:205)
    at javax.sound.midi.MidiSystem.getSequence(MidiSystem.java:838)
    at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(SoftMidiAudioFileReader.java:174)
    at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1146)
    at javafxapplication4.JavaFXApplication4$1.run(JavaFXApplication4.java:268)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

我的 wav 文件位于此处

【问题讨论】:

  • 您遇到的症状是什么?错误,异常,...
  • 我已经编辑了错误的帖子
  • 我不太明白图片中显示的数据。但据我了解,wav 似乎实际上位于"/javafxapplication4/Audio/police.wav"。试试那个确切的字符串(带前导/)。

标签: java audio playback


【解决方案1】:

您可以这样构建 AudioInputStream:

InputStream is = ClassLoader.getSystemResourceAsStream("Audio/police.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(is);

不要忘记检查 InputStream 是否为空。如果出现问题,它会让您有更多的控制权来调查。这个 sn-p 假设在你的类路径中有一个资源 Audio/police.wav 可用

【讨论】:

  • 谢谢,但还是一样。看我上传的图片,这是wav文件的位置。奇怪的是,这段代码昨天在两台电脑上工作了一整天
  • 根据你的图片,你的资源位置是:javafxapplication4/Audio/police.wav(当你使用这种加载资源的方式时,包是位置的一部分)
  • 这是一个文件夹,但在项目树中显示不同。我按照你的建议修改了位置,但还是一样,不行!!!
  • 包通常是文件夹,当然在常见的 IDE 中,例如 netbeans。您提供的图片表明该文件是其中一个包的一部分。有关如何使用类加载器加载系统资源的更多详细信息,请参阅docs.oracle.com/javase/6/docs/api/java/lang/…
猜你喜欢
  • 2020-06-19
  • 1970-01-01
  • 2016-04-03
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多