3

我正在尝试使用 libgdx 简单地加载音乐资产,这就是我所拥有的:

Music main_background;
main_background = Gdx.audio.newMusic(Gdx.files.internal("data/music/main_bg.wav"));

这段代码与使用 libgdx “制作游戏”的小教程中的代码完全相同,我正在尝试加载我自己制作的声音(使用 GarageBand,以防万一)。每当我尝试将其作为桌面应用程序运行时,都会出现一堆错误:

线程“LWJGL 应用程序”com.badlogic.gdx.utils.GdxRuntimeException 中的异常:为文件创建音乐 com.badlogic.gdx.backends.openal.Wav$Music 时出错:data/music/main_bg.wav

引起:java.lang.reflect.InvocationTargetException

原因:com.badlogic.gdx.utils.GdxRuntimeException:读取 WAV 文件时出错:data/music/main_bg.wav

引起:com.badlogic.gdx.utils.GdxRuntimeException:未找到 RIFF 标头:data/music/main_bg.wav

我不确定问题可能是什么,因为音频文件没有损坏(因为我可以很好地听它)但是我无法在任何地方找到有关人们在加载资产时遇到此类错误的信息。

我有一堆纹理加载得很好,但由于某种未知原因,我无法加载音乐资产(为了记录,我尝试加载与声音资产相同的文件并得到基本相同的错误)。

有没有人遇到过这种情况或对可能出现的问题有任何想法?

编辑:我应该提到,如果我也尝试加载 mp3 或 ogg 文件,我也会收到此错误,它不仅仅发生在 wav 上

4

3 回答 3

4

首先,了解 libGdx 中 Sound 和 Music 的区别。阅读:https
://code.google.com/p/libgdx/wiki/Audio 问题可能出在比特率上。我遇到了这个问题,我将 wav 文件的比特率更改为 705kbps 并且它起作用了。

于 2012-08-07T23:24:24.627 回答
0

我遇到过同样的问题。通过重新启动 Eclipse 解决了这个问题。似乎一些 SDK 文件尚未完全安装,重新启动 Eclipse 允许它们完成安装。

于 2013-12-17T05:38:09.330 回答
0

您可以将其转换为.ogg,它占用的空间更少。并将其保存在您的数据文件夹中。然后声明一个名为的变量music

Music music;

之后在您的create方法中:

music = Gdx.audio.newMusic(Gdx.files.internal("data/whoo.ogg"));

render然后在游戏中的任何地方使用它——在touchUp touchDown任何你想要音乐的地方:

music.play();
于 2013-09-24T09:35:02.670 回答