2011-10-21 7 views
0

マルチメディアプレーヤーがOntouchevent(surfaceview)で動作しない理由はありますか?私は、プレイヤーがオブジェクトをクリックすると、サウンドを生成するゲームを作成しました。私のマルチメディアプレイヤーが動作しません。Media PlayerがOntouchEventで動作しない - Android

をここに私のコードの一部です:

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; 
       } 
      } 
     } 
    } 

任意の提案?ありがとう! )

答えて

0

mp.start()を 'if'句の外に呼び出すと、mp.isPlaying()は常にtrueを返し、音楽は停止します。この行を削除し、MediaPlayerの作成行に従います。

+0

if-elseステートメントを削除しようとしましたが、まだ動作しません。 nullpointer例外が発生します。 :( – Sushi

+0

例外が発生した行はどこですか? – Jong

関連する問題