3

libgdxを使用してミュージックアセットをロードしようとしていますが、これが私が持っているものです。

Music main_background;
main_background = Gdx.audio.newMusic(Gdx.files.internal("data/music/main_bg.wav"));

このコードは、libgdxを使用した「ゲームの作成」の小さなチュートリアルとまったく同じコードであり、作成した独自のサウンドをロードしようとしています(重要な場合はGarageBandを使用)。これをデスクトップアプリケーションとして実行しようとすると、次のようなエラーが発生します。

スレッド「LWJGLアプリケーション」の例外com.badlogic.gdx.utils.GdxRuntimeException:音楽の作成中にエラーが発生しましたcom.badlogic.gdx.backends.openal.Wav $音楽のファイル: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

オーディオファイルが破損していないため(完全に正常に聞くことができるため)、問題が何であるかはわかりませんが、アセットのロード時にこのタイプのエラーが発生する人に関する情報はどこにも見つかりません。

たくさんのTextureが正常にロードされていますが、何らかの理由でMusicアセットをロードできません(レコードとして、Soundアセットと同じファイルをロードしようとしましたが、基本的に同じエラーが発生します)。

誰かが以前にこれに遭遇したことがありますか、または何が間違っている可能性があるかについて何かアイデアがありますか?

編集:mp3またはoggファイルもロードしようとすると、このエラーが発生することにも言及する必要があります。これは、wavで発生するだけではありません。

4

3 に答える 3

4

まず、libGdx におけるサウンドとミュージックの違いを知っておいてください。これを読んでください: https://code.google.com/p/libgdx/wiki/Audio
おそらく問題はビットレートにあります。この問題があり、wav ファイルのビットレートを 705kbps に変更したところ、うまくいきました。

于 2012-08-07T23:24:24.627 に答える
0

に変換でき.oggます。占有するスペースが少なくなります。そしてそれをあなたのデータフォルダに保管してください。次に、という名前の変数を宣言しますmusic

Music music;

その後、あなたのcreate方法で:

music = Gdx.audio.newMusic(Gdx.files.internal("data/whoo.ogg"));

次に、ゲーム内の任意の場所で使用します - 内rendertouchUp touchDown音楽が必要な場所:

music.play();
于 2013-09-24T09:35:02.670 に答える