好的,所以我用 Java 制作了一个游戏,然后将其导出。在 Eclipse 中一切正常,但是当我导出 jar 时会出现一些问题。当您与另一个矩形碰撞时,它应该播放声音(在 eclipse 中它可以工作但不能导出)。
这是我的声音课程:
package sound;
import java.io.InputStream;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class GameSounds
{
static String hitPath = "/resources/8bit_bomb_explosion.wav";
public static synchronized void hit()
{
try
{
InputStream audioInStream = GameSounds.class.getResourceAsStream(hitPath);
AudioInputStream inputStream = AudioSystem.getAudioInputStream(audioInStream);
Clip clip = AudioSystem.getClip();
clip.open(inputStream);
clip.start();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
我使用 java -jar ProjectZero.jar 在播放时打开控制台,这是我在播放声音时遇到的错误:
java.io.IOException markreset not supported
at java.util.zip.InflaterInputStream.reset(Unknown Source)
at java.io.FilterInputStream.reset(Unknown Source)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unkno
wn Source)
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at sound.GameSounds.hit(GameSounds.java14)
at main.Main.doLogic(Main.java136)
at main.Main.run(Main.java100)
at java.lang.Thread.run(Unknown Source)
我尝试将资源导出到 jar 中,但没有成功。
我尝试将资源文件夹与 jar 放在同一个文件夹中,但它也不起作用。