Mediaplayer在OntouchEvent-Android上不工作

Mediaplayer在OntouchEvent-Android上不工作,android,Android,你知道为什么多媒体播放器不能在Ontouchevent(在surfaceview中)上工作吗?我创造了一个游戏,当玩家点击一个物体时,它会发出声音。我的多媒体播放器不工作: 以下是我代码的一部分: public boolean onTouchEvent(MotionEvent event) { Context context = getContext(); if (System.currentTimeMillis() - lastClick > 300) {

你知道为什么多媒体播放器不能在Ontouchevent(在surfaceview中)上工作吗?我创造了一个游戏,当玩家点击一个物体时,它会发出声音。我的多媒体播放器不工作:

以下是我代码的一部分:

public boolean onTouchEvent(MotionEvent event) {

    Context context = getContext();

    if (System.currentTimeMillis() - lastClick > 300) {
        lastClick = System.currentTimeMillis();
        synchronized (getHolder()) {
            float x = event.getX();
            float y = event.getY();

            for (int i = GoodSprites.size() - 1; i >= 0; i--) {
                Sprite sprite = GoodSprites.get(i);
                if (sprite.isCollition(x, y)) {
                 goodSize--;
                 GoodSprites.remove(sprite);
                 playerScore = playerScore + 10;
                 temps.add(new TempSprite(temps, this, x, y, bmpBlue));
                                     // DOESN'T WORK HERE 
                 MediaPlayer mp = MediaPlayer.create(getContext(),
                            R.raw.jump);
                 mp.start();
                if (mp.isPlaying()) {
                    mp.stop();
                } else {
                    mp.start();
                }
                    break;
                }
            }
        }
    }

有什么建议吗?谢谢!:)

您在'if'子句之外调用
mp.start()
,因此
mp.isplay()
始终返回true,音乐停止。删除MediaPlayer创建行之后的这一行。

我尝试删除if-else语句,但仍然不起作用。表示空指针异常:(在哪一行抛出异常?