在我的游戏中,我有一个非常长的 ogg 文件(大约 8 到 20 mb),而其他一些机器无法将其直接读入内存。所以我读到有些游戏使用流和播放方法。是否有任何库/代码示例可以实时加载和播放 ogg 文件(使用 LWJGL)? 感谢您的帮助:)
最佳答案
您是否特别需要播放 OGG 文件?如果没有,有很多在线转换器可以将其转换为 MP3、WAV 等。
还有,你特别需要用LWJGL来玩吗?这对于默认的 java 来说是很有可能的,就像这样:
static String randomName = "TreasureQuest";
public static Clip clip = null;
public static void playSound(String name) throws Exception{
if (clip != null && clip.isOpen()) clip.close();
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("music/" + name + ".wav").getAbsoluteFile());
clip = AudioSystem.getClip();
clip.open(audioInputStream);
FloatControl gainControl =
(FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(0f);
System.out.println(clip.getFrameLength() + " | " + clip.getFramePosition());
clip.start();
}
就我个人而言,我将其用于我的 LWJGL 游戏,并且效果非常好。
如果你必须播放OGG文件,并且特别必须使用LWJGL播放它,我建议你使用OpenAL。 You can find the documentation for playing OGG files here .
关于Java LWJGL OGG 背景音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29600213/