私はBrent AureliとLibGDXでマリオゲームをコーディングする方法についてのチュートリアルに従っています。この部分(video)では、サウンドの使用を開始しました。ここで私が使用しているコードの短絡バージョンです:LibGDXで音楽を読み込んでいるときにこのエラーの原因は何ですか?
public static AssetManager manager;
@Override
public void create() {
manager = new AssetManager();
manager.load("mario_music.ogg", Music.class);
manager.finishLoading();
setScreen(new PlayScreen(this));
}
私は右のフォルダ内の「mario_music.ogg」を持っていると(アンドロイド/資産/ mario_music.ogg)正しい名前は、まだ私はこのスーパーを取得します長いエラー:
E/AndroidRuntime: FATAL EXCEPTION: GLThread 19364
Process: com.davidheadrick.mariogame, PID: 12739
com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: mario_music.ogg
at com.badlogic.gdx.assets.AssetManager.handleTaskError(AssetManager.java:570)
at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:375)
at com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager.java:396)
at com.davidheadrick.mariogame.MarioGame.create(MarioGame.java:38)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1550)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1278)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: mario_music.ogg
at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:121)
at com.badlogic.gdx.assets.AssetLoadingTask.update(AssetLoadingTask.java:90)
at com.badlogic.gdx.assets.AssetManager.updateTask(AssetManager.java:498)
at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:373)
at com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager.java:396)
at com.davidheadrick.mariogame.MarioGame.create(MarioGame.java:38)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1550)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1278)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Error loading audio file: mario_music.ogg
Note: Internal audio files must be placed in the assets directory.
at com.badlogic.gdx.utils.async.AsyncResult.get(AsyncResult.java:46)
at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:119)
... 8 more
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error loading audio file: mario_music.ogg
Note: Internal audio files must be placed in the assets directory.
at com.badlogic.gdx.backends.android.AndroidAudio.newMusic(AndroidAudio.java:120)
at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:48)
at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:29)
at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:70)
at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34)
at com.badlogic.gdx.utils.async.AsyncExecutor$2.call(AsyncExecutor.java:58)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
at android.content.res.AssetManager.openAssetFd(Native Method)
at android.content.res.AssetManager.openFd(AssetManager.java:346)
at com.badlogic.gdx.backends.android.AndroidFileHandle.getAssetFileDescriptor(AndroidFileHandle.java:237)
at com.badlogic.gdx.backends.android.AndroidAudio.newMusic(AndroidAudio.java:110)
at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:48)
at com.badlogic.gdx.assets.loaders.MusicLoader.loadAsync(MusicLoader.java:29)
at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:70)
at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34)
at com.badlogic.gdx.utils.async.AsyncExecutor$2.call(AsyncExecutor.java:58)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
チュートリアルで使用しているのと同じ音楽ファイルを使用しているため、なぜこれを行うことができないのかわかりません。どんな助けもありがとうございます。ありがとう!
あなたはコア/資産のどこかにあなたのファイルを入れてみましたがありますか? –