Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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中使用OpenAL加载声音时出错_Java_Openal - Fatal编程技术网

尝试在Java中使用OpenAL加载声音时出错

尝试在Java中使用OpenAL加载声音时出错,java,openal,Java,Openal,我在看这篇关于使用java制作游戏的教程,我也参与了将音乐导入游戏的部分。但是,当我尝试使用此类中创建的方法加载声音时: package main; import java.util.HashMap; import java.util.Map; import org.newdawn.slick.Music; import org.newdawn.slick.SlickException; import org.newdawn.slick.Sound; public class AudioP

我在看这篇关于使用java制作游戏的教程,我也参与了将音乐导入游戏的部分。但是,当我尝试使用此类中创建的方法加载声音时:

package main;

import java.util.HashMap;
import java.util.Map;

import org.newdawn.slick.Music;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.Sound;

public class AudioPlayer {

    public static Map<String, Sound> soundMap = new HashMap<String, Sound>();
    public static Map<String, Music> musicMap = new HashMap<String, Music>();

    public static void load(){

        try {
            soundMap.put("click_sound", new Sound("res/clickSound.ogg"));

            musicMap.put("music", new Music("res/background_Music.ogg"));
        } catch (SlickException e) {
            e.printStackTrace();
        }

    }

    public static Music getMusic(String key){
        return musicMap.get(key);
    }

    public static Sound getSound(String key){
        return soundMap.get(key);
    }
}
packagemain;
导入java.util.HashMap;
导入java.util.Map;
导入org.newdawn.slick.Music;
导入org.newdawn.slick.SlickException;
导入org.newdawn.slick.Sound;
公共级音频播放器{
public static Map soundMap=new HashMap();
公共静态映射musicMap=newhashmap();
公共静空荷载(){
试一试{
soundMap.put(“单击声音”,新声音(“res/clickSound.ogg”);
musicMap.put(“音乐”)、新音乐(“res/background_music.ogg”);
}接住(滑溜){
e、 printStackTrace();
}
}
公共静态音乐getMusic(字符串键){
返回musicMap.get(键);
}
公共静态声音getSound(字符串键){
返回soundMap.get(键);
}
}
我得到一个错误,上面写着:

Exception in thread "main" java.lang.NoClassDefFoundError: com/jcraft/jorbis/Info
    at org.newdawn.slick.openal.OggInputStream.<init>(OggInputStream.java:35)
    at org.newdawn.slick.openal.OggDecoder.getData(OggDecoder.java:311)
    at org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:835)
    at org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:793)
    at org.newdawn.slick.Sound.<init>(Sound.java:87)
    at main.AudioPlayer.load(AudioPlayer.java:18)
    at main.Game.<init>(Game.java:45)
    at main.Game.main(Game.java:160)
Caused by: java.lang.ClassNotFoundException: com.jcraft.jorbis.Info
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more
AL lib: (EE) alc_cleanup: 1 device not closed
线程“main”java.lang.NoClassDefFoundError中的异常:com/jcraft/jorbis/Info 位于org.newdawn.slick.openal.OggInputStream(OggInputStream.java:35) 位于org.newdawn.slick.openal.OggDecoder.getData(OggDecoder.java:311) 位于org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:835) 位于org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:793) 在org.newdawn.slick.Sound.(Sound.java:87) 加载(AudioPlayer.java:18) 在main.Game.(Game.java:45) 在main.Game.main(Game.java:160) 原因:java.lang.ClassNotFoundException:com.jcraft.jorbis.Info 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 8个以上 AL lib:(EE)alc_清理:1个设备未关闭
我写错什么了吗?我导入了正确的外部jar,并完成了教程中所述的所有操作。但是,我一直收到这个错误?

非常感谢!它解决了我的问题:)