Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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 声音不响_Java_Audio_Nullpointerexception - Fatal编程技术网

Java 声音不响

Java 声音不响,java,audio,nullpointerexception,Java,Audio,Nullpointerexception,当我尝试播放声音时,会出现错误: java.lang.NullPointerException at sun.applet.AppletAudioClip.<init>(Unknown Source) at java.applet.Applet.newAudioClip(Unknown Source) at com.artem.megatale.Sound.<init>(Sound.java:13) at com.artem.megatal

当我尝试播放声音时,会出现错误:

java.lang.NullPointerException
    at sun.applet.AppletAudioClip.<init>(Unknown Source)
    at java.applet.Applet.newAudioClip(Unknown Source)
    at com.artem.megatale.Sound.<init>(Sound.java:13)
    at com.artem.megatale.Sound.<clinit>(Sound.java:7)
    at com.artem.megatale.Level.building(Level.java:340)
    at com.artem.megatale.Level.tick(Level.java:371)
    at com.artem.megatale.Component.tick(Component.java:111)
    at com.artem.megatale.Component.run(Component.java:212)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-4" java.lang.NullPointerException
    at com.artem.megatale.Sound$1.run(Sound.java:23)
Exception in thread "Thread-5" java.lang.NullPointerException
    at com.artem.megatale.Sound$1.run(Sound.java:23)
我使用
sound.blockBreak.play()播放声音
声音存储在res/sound/文件中,并存储在jar文件中。
我尝试更改
blockBreak=新声音(“/sounds/break_stone.wav”)
blockBreak=新声音(“res/sounds/break_stone.wav”)但我仍然得到错误

有人要我的软件包截图:

有人还说我应该放弃“尝试并捕获”,于是我又犯了一个错误:

Exception in thread "Thread-3" java.lang.ExceptionInInitializerError
    at com.artem.megatale.Level.building(Level.java:340)
    at com.artem.megatale.Level.tick(Level.java:371)
    at com.artem.megatale.Component.tick(Component.java:111)
    at com.artem.megatale.Component.run(Component.java:212)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at sun.applet.AppletAudioClip.<init>(Unknown Source)
    at java.applet.Applet.newAudioClip(Unknown Source)
    at com.artem.megatale.Sound.<init>(Sound.java:13)
    at com.artem.megatale.Sound.<clinit>(Sound.java:7)
    ... 5 more

我假设
res/sound
存储在Jar中,并且它是
sound
sounds
?如果您上传错误日志,或者确保
NullPointerException
sound
变量声明中抛出,这可能会有所帮助。此外,包结构的方案或屏幕截图也有助于解决问题。不要过度夸张,删除不必要的try捕获,让实际异常直接发生(虽然您正在打印堆栈跟踪,但仍然会丢失它们)。只需让原始根本原因代码触发异常。然后你将知道确切的原因,你将能够修改和纠正例外的实际原因。我做了你所说的,并更新了问题
Exception in thread "Thread-3" java.lang.ExceptionInInitializerError
    at com.artem.megatale.Level.building(Level.java:340)
    at com.artem.megatale.Level.tick(Level.java:371)
    at com.artem.megatale.Component.tick(Component.java:111)
    at com.artem.megatale.Component.run(Component.java:212)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at sun.applet.AppletAudioClip.<init>(Unknown Source)
    at java.applet.Applet.newAudioClip(Unknown Source)
    at com.artem.megatale.Sound.<init>(Sound.java:13)
    at com.artem.megatale.Sound.<clinit>(Sound.java:7)
    ... 5 more
Sound.blockBreak.play();