Исключение нулевого указателя в AndEngine SoundManager - PullRequest
0 голосов
/ 17 ноября 2011

Я только что закодировал следующие строки, скопированные из AndExample.

try {
        this.collision_sound = SoundFactory.createSoundFromAsset(this.mEngine.getSoundManager(), this, "touch.ogg");
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        Log.d("Error","in creation "+e);
    }

this.collision_sound.play();

Теперь проблема в том, что когда я играю звук, это дает мне исключение нулевого указателя. Кто-нибудь может помочь мне с этой проблемой?

Ответы [ 2 ]

1 голос
/ 19 ноября 2011

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

new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera).setNeedsSound(true));

это решило мою проблему. Мне не хватало опции .setNeedsSound (true).

1 голос
/ 17 ноября 2011

Ваш код, кажется, в порядке. Попробуйте поместить функцию createound в метод onLoad () AndEngine и вызвать метод play () в другом месте. Я полагаю, вы не даете времени двигателю установить переменную звука.

...