当前位置:   article > 正文

做java小游戏添加音乐用getResourceAsStream()读取音乐文件时返回值为null_java小游戏加音效

java小游戏加音效

目录

一、错误代码展示

       1.代码架构

       2.Ajava代码

二、IDEA报错显示

三、错误的原因

   1.路径错误

    2.IDEA Source资源目录没有设置

   (1)设置资源目录的前后对比

   (2)设置资源目录的方法


一、错误代码展示

       1.代码架构

       2.Ajava代码

  1. public class Ajava {
  2. public static void main(String[] args) throws Exception {
  3. Ajava a = new Ajava();
  4. Clip clip = AudioSystem.getClip();
  5. ClassLoader cl = a.getClass().getClassLoader();//得到类加载器
  6. InputStream in = cl.getResourceAsStream("bgm.wav");//加载音乐
  7. System.out.println(cl);
  8. System.out.println(in);
  9. AudioInputStream ais = AudioSystem.getAudioInputStream(in);
  10. clip.open(ais);//打开这个文件
  11. while (true)
  12. clip.loop(Clip.LOOP_CONTINUOUSLY);//播放音乐需要用while()来一直播放
  13. }
  14. }

二、IDEA报错显示

  1. Exception in thread "main" java.lang.NullPointerException
  2. at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(SoftMidiAudioFileReader.java:134)
  3. at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1113)
  4. at main.java.Ajava.main(Ajava.java:21)

从第一行可以看到错误类型为空指针异常。

三、错误的原因

   1.路径错误

getResourceAsStream()里填写的相对路径错误,其实这个原因大部分人都不会犯,因为大部分都是看着视频做的游戏,不太可能把相对路径填错。

    2.IDEA Source资源目录没有设置

         (1)设置资源目录的前后对比

如果没有把你将要播放音乐的所在目录设置成资源根目录

如下图

 将resource设置成资源根目录后

   (2)设置资源目录的方法

IDEA设置资源根目录·

设置好之后就能正常播放音乐了。

如果有哥们遇到的问题一样并且用这种方法解决了那还请兄弟给我点个赞,谢谢。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号