问:如何在java中添加背景歌曲?

时间:2014-12-08 16:29:00

标签: java

我在java中制作了一个简单的游戏,我想在后台添加一首歌,我到处检查,查看guid并没有任何效果,有人可以告诉我该怎么做吗?这是我最接近的:

 public static synchronized void playSound(final String url) {
  new Thread(new Runnable() {

    public void run() { 
      try { 
        Clip clip = AudioSystem.getClip();
        AudioInputStream inputStream = AudioSystem.getAudioInputStream(
          Main.class.getResourceAsStream("res/" + url));
        clip.open(inputStream);
        clip.start(); 
      } catch (Exception e) {
      e.printStackTrace;  
      System.err.println(e.getMessage());
      } 
    } 
   }).start();
 }  

这给了我一个noll指针异常,任何人都可以告诉我如何修复这段代码或编写一个新的代码吗? 堆栈跟踪是:com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream中的java.lang.NullPointerException(SoftMidiAudioFileReader.java:130)     在javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1113)     at Frame $ 1.run(Frame.java:59)     在java.lang.Thread.run(Thread.java:745)

(第59行是: AudioInputStream inputStream = AudioSystem.getAudioInputStream(Frame.class.getResourceAsStream(" res /" + url));

2 个答案:

答案 0 :(得分:1)

因为你的代码是从这个帖子中复制/粘贴的,所以评论很好 How can I play sound in Java?

该文件必须位于错误的目录中(并且您更改了path/to/sounds 到声音的路径? ;))

答案 1 :(得分:0)

将您要引用的声音片段放在与源代码相同的文件夹中。完成后,将“/ path / to / sounds”替换为声音片段的名称。

我给你的建议是研究相对路径参考的主题。当涉及到诸如此类的情况时,这将极大地帮助您。

此致

裴家