Невозможно найти звуковой файл (.ogg) - PullRequest
1 голос
/ 14 марта 2012

У меня есть метод setSound (), который устанавливает очередь, добавляет к ней дорожку и затем воспроизводит ее. Я вызываю метод в simpleInitGame (). Однако звук не воспроизводится, и консоль в Eclipse сообщает:

Mar 13, 2012 10:15:55 PM com.jmex.audio.openal.OpenALSystem setupSourcePool
INFO: max source channels: 32
Mar 13, 2012 10:15:55 PM com.jme.util.resource.ResourceLocatorTool locateResource
WARNING: Unable to locate: src/com/preston/sounds/background.ogg
Mar 13, 2012 10:15:55 PM com.jmex.audio.openal.OpenALSystem createAudioTrack
WARNING: Could not locate audio file: src/com/preston/sounds/background.ogg

Вот метод:

protected void setSound()
    {
        audio = AudioSystem.getSystem();
        sound1 = audio.createAudioTrack("src/com/preston/sounds/background.ogg", false);
        queue = AudioSystem.getSystem().getMusicQueue();
        queue.setCrossfadeinTime(0);
        queue.setRepeatType(RepeatType.ONE);
        queue.addTrack(sound1);
queue.play();

    }

Я не думаю, что это каталог, так как мои текстуры находятся в том же каталоге (за исключением того, что вместо preston / sounds - его preston / textures).

Ответы [ 2 ]

1 голос
/ 15 мая 2013

Скорее всего, вы можете опустить префикс "src /". Компилятор Eclipse скомпилирует все java-файлы в файлы классов и, кроме того, скопирует ресурсы из ваших источников в «bin /». Я думаю, что затем JME использует ClassLoader.getResourceAsStream (...) для загрузки ресурсов из пути к классам. Итак, попробуйте удалить "src /".

1 голос
/ 27 июня 2012

это, скорее всего, проблема с вашим относительным путем. Каталог по умолчанию ResourceLocatorTool в jMonkeyEngine не является корнем вашего проекта. Попробуйте открыть его с абсолютным путем и посмотреть, работает ли он.

Кроме того, местоположение вашего файла не является мудрым выбором. Папка src предназначена для исходных файлов Java, а не для ресурсов. Вы должны поместить их в активы / звуки. См. JME лучшие практики

...