LIBGDX - Ошибка при создании музыки

Я пытаюсь просто загрузить музыкальный ресурс с помощью 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$Music для файла: 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

Я не уверен, в чем может быть проблема, потому что аудиофайл не поврежден (потому что я могу слушать его прекрасно), но я нигде не могу найти информацию о людях, которые получают этот тип ошибки при загрузке актива.

У меня есть куча текстур, загруженных просто отлично, но по какой-то неизвестной причине я не могу загрузить музыкальный ресурс (и для записи я попытался загрузить тот же файл, что и звуковой актив, и получил по сути ту же ошибку).

Кто-нибудь сталкивался с этим раньше или есть какие-либо идеи о том, что может быть не так?

РЕДАКТИРОВАТЬ: я должен упомянуть, что я также получаю эту ошибку, если я пытаюсь загрузить файл mp3 или ogg, это происходит не только с wav


person Ninjalemon    schedule 06.08.2012    source источник
comment
Есть ли в консоли какие-либо другие сообщения журнала GDX? Может что-то про OpenAL? Кроме того, какая платформа у вашего рабочего стола? Вы получаете другую ошибку, если файл вообще не существует (например, как data/music/gibberish.wav)   -  person P.T.    schedule 07.08.2012
comment
Я только что попытался запустить свою маленькую игру, включая музыку сегодня, и теперь это сработало. Я не уверен, в чем проблема, потому что я вообще ничего не менял (я даже не закрывал и не открывал Eclispe), и я несколько раз обновлял каталог ресурсов, потому что думал, что он не знал о его существовании. .   -  person Ninjalemon    schedule 08.08.2012


Ответы (3)


Прежде всего, узнайте разницу между Звуком и Музыкой в ​​libGdx. Прочитайте это: https://code.google.com/p/libgdx/wiki/Audio
Возможно, проблема в битрейте. У меня была эта проблема, и я изменил битрейт файлов wav на 705 кбит / с, и это сработало.

person Aliaaa    schedule 07.08.2012

Я была такая же проблема. Проблема решилась перезапуском Eclipse. Кажется, что некоторые файлы SDK еще не были полностью установлены, и перезапуск Eclipse позволил им завершить установку.

person WingTsunku    schedule 17.12.2013

Вы можете преобразовать его в .ogg, он занимает меньше места. И держите его в папке данных. Затем объявите переменную с именем music:

Music music;

После этого в вашем методе create:

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

Затем используйте его где угодно в игре — в render, touchUp touchDown, где хотите музыку:

music.play();
person sandeep kundliya    schedule 24.09.2013