我只是在玩 superJumper,我对此做了一些改变。更新到 SDK 17 后,我遇到了一些问题。但我解决了他们。现在我可以运行我的 android 项目了。但是当我触摸我的任何设置时(比如开始游戏或设置或开\关声音)我得到错误。这是我的 LogCat。我不明白这是什么错误。如果有人知道,请帮助我。谢谢。
04-18 19:26:36.884: D/dalvikvm(9455): GC_CONCURRENT freed 359K, 49% free 3008K/5895K, external 90K/513K, paused 2ms+6ms
04-18 19:26:44.791: I/dalvikvm(9455): Total arena pages for JIT: 11
04-18 19:26:44.791: I/dalvikvm(9455): Total arena pages for JIT: 12
04-18 19:26:46.693: I/dalvikvm(9455): Total arena pages for JIT: 13
04-18 19:26:50.077: W/dalvikvm(9455): threadid=9: thread exiting with uncaught exception (group=0x401f6560)
04-18 19:26:50.087: E/AndroidRuntime(9455): FATAL EXCEPTION: GLThread 10
04-18 19:26:50.087: E/AndroidRuntime(9455): java.lang.NoSuchMethodError: com.badlogic.gdx.audio.Sound.play
04-18 19:26:50.087: E/AndroidRuntime(9455): at com.Jumper.Assets.playSound(Assets.java:115)
04-18 19:26:50.087: E/AndroidRuntime(9455): at com.Jumper.MainMenuScreen.update(MainMenuScreen.java:39)
04-18 19:26:50.087: E/AndroidRuntime(9455): at com.Jumper.Game.render(Game.java:34)
04-18 19:26:50.087: E/AndroidRuntime(9455): at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:423)
04-18 19:26:50.087: E/AndroidRuntime(9455): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1364)
04-18 19:26:50.087: E/AndroidRuntime(9455): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1119)
04-18 19:27:58.353: I/Process(9455): Sending signal. PID: 9455 SIG: 9
最佳答案
此错误 java.lang.NoSuchMethodError: com.badlogic.gdx.audio.Sound.play
意味着您正在尝试运行该方法 play()
但是这不是您使用的真正方法。在这种情况下,那是因为 com.badlogic.gdx.audio.Sound
是一个接口(interface),而不是一个完整的类。
该源文件中的注释说使用 Audio.newSound(FileHandle)
来创建一个实际的 Sound
对象。这可能意味着调用这样的东西:
FileHandle handle = new FileHandle("path/to/sound.mp3");
Sound mySound = Gdx.audio.newSound(handle);
我只是基于源代码,所以我可能会遗漏一些东西,但我认为应该这样做。这tutorial video也可能有帮助。
关于android - 这是什么错误? + LibGDX + super 跳线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10212557/