我只是玩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
答案 0 :(得分:1)
此错误java.lang.NoSuchMethodError: com.badlogic.gdx.audio.Sound.play
表示您尝试运行该方法play()
,但这并不是一个真正的方法,因为您正在使用它。在这种情况下,那是因为com.badlogic.gdx.audio.Sound
是一个接口,而不是一个完整的类。
该源文件中的注释表示使用Audio.newSound(FileHandle)
创建实际的Sound
对象。这可能意味着要调用这样的东西:
FileHandle handle = new FileHandle("path/to/sound.mp3");
Sound mySound = Gdx.audio.newSound(handle);
我只是基于源代码,所以我可能会遗漏一些东西,但我认为应该这样做。这个tutorial video也可能会有所帮助。