Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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 LIBGDX-创建音乐时出错_Java_Audio_Libgdx - Fatal编程技术网

Java LIBGDX-创建音乐时出错

Java LIBGDX-创建音乐时出错,java,audio,libgdx,Java,Audio,Libgdx,我尝试使用libgdx加载一个音乐资产,这就是我所拥有的: Music main_background; main_background = Gdx.audio.newMusic(Gdx.files.internal("data/music/main_bg.wav")); 这段代码与libgdx的“制作游戏”小教程中的代码完全相同,我正在尝试加载我自己制作的声音(如果需要的话,使用GarageBand)。每当我尝试将其作为桌面应用程序运行时,都会出现一系列错误: 线程“LW

我尝试使用libgdx加载一个音乐资产,这就是我所拥有的:

Music main_background;
main_background = Gdx.audio.newMusic(Gdx.files.internal("data/music/main_bg.wav"));
这段代码与libgdx的“制作游戏”小教程中的代码完全相同,我正在尝试加载我自己制作的声音(如果需要的话,使用GarageBand)。每当我尝试将其作为桌面应用程序运行时,都会出现一系列错误:

线程“LWJGL Application”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上。首先,了解libGdx中声音和音乐的区别。 阅读以下内容:
问题可能在于比特率。
我遇到了这个问题,我将wav文件的比特率更改为705kbps,它成功了。

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

Music music;
然后在
create
方法中:

music = Gdx.audio.newMusic(Gdx.files.internal("data/whoo.ogg"));
然后在游戏中的任何地方使用它-在
渲染
触地
触地
任何你想要音乐的地方:

music.play();

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

控制台中是否有其他GDX日志消息?也许是关于OpenAL的?还有,你的桌面是什么平台?如果文件根本不存在(例如“data/music/gibberish.wav”),你会遇到不同的错误吗?我今天刚刚试着运行我的小游戏,包括音乐,现在它工作了。我不确定问题出在哪里,因为我根本没有更改任何内容(我甚至没有关闭和重新打开Eclispe),而且我多次刷新资产目录,因为我认为它不知道它存在。