2016-06-28 20 views
0

私は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)  

チュートリアルで使用しているのと同じ音楽ファイルを使用しているため、なぜこれを行うことができないのかわかりません。どんな助けもありがとうございます。ありがとう!

+0

あなたはコア/資産のどこかにあなたのファイルを入れてみましたがありますか? –

答えて

1

あなたのファイルパスで使用している( "_")が問題です。同じ問題を抱えていました。あなたはUpercaseの文字と正規表現を使用することができません。もちろん、special chars

となり、パスを正しく指定しているかどうかを確認してください。資産がでルートフォルダにあります manager.load("mario_music.ogg", Music.class);

:あなたが宣言するときのように アンドロイド/資産/

関連する問題