android - 创建声音时,AndEngine NullpointerException

标签 android nullpointerexception andengine audio

快速提问:
我有以下代码:

public EngineOptions onCreateEngineOptions() {
    instance = this;

    mCamera = new org.andengine.engine.camera.Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

    EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), mCamera);
    engineOptions.getAudioOptions().setNeedsSound(true);
    //engineOptions.getAudioOptions().setNeedsMusic(true);


    return engineOptions;

}


protected void onCreateResources() {





    SoundFactory.setAssetBasePath("mfx/");



    try {
        this.testSound = SoundFactory.createSoundFromAsset(this.mEngine.getSoundManager(), this, "explosion.ogg");
    } catch (final IOException e) {
        Debug.e(e);
    }
}

最后,我在另一场将此 Activity 作为 Realm 的类里面演奏:
    activity.mCurrentScene.registerTouchArea(image);
    activity.mCurrentScene.setOnAreaTouchListener(new IOnAreaTouchListener() {

        @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
                ITouchArea pTouchArea, float pTouchAreaLocalX,
                float pTouchAreaLocalY) {
            Zancudo.this.activity.testSound.play();
            return false;
        }
    });

任何想法为什么我会得到一个nullpointer异常?

谢谢!

最佳答案

对于播放声音,您使用的方式如下

Zancudo.this.activity.testSound.play();

这看起来像问题,因为此处未在Zancudo类中实例化 Activity 对象。

要访问testSound,您需要获取 Zancudo Activity 的实例。

关于android - 创建声音时,AndEngine NullpointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783255/

相关文章:

java.lang.UnsatisfiedLinkError : Couldn't load from loader findLibrary returned null

java - 单击后退按钮时滑动加载的图像会重置

java - 每个敌人的生命值

android - 如何在 LazyColumn Jetpack Compose 中的项目之间添加分隔符?

java - 为什么我在 GridView 的 onMeasure 中得到空指针

android - NullpointerException 在 LinkedHashMap 上使用 put 方法

java - 尝试获取 Activity 的 DefaultSharedPreferences 时出现 NullPointerException

android - Andengine 的退出按钮

java - Android 游戏,0x​​104567910 - box2D

android - 在 Android Studio 和 Gradle 中使用模块依赖