2011-06-27 10 views

答えて

-1
public void onClick(View v) { 
      final MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.random); 
      final MediaPlayer mp2 = MediaPlayer.create(getBaseContext(), R.raw.stop); 
      if(!mStarted) { 
       // Start          
       mp2.stop();    

       mp.start();  

       Toast.makeText(finish.this, "Started!", Toast.LENGTH_SHORT).show(); 
       mStarted = true; 
       mInterval = MIN_INTERVAL; 
       mHandler.removeMessages(MESSAGE_RANDOM);    
       mHandler.sendEmptyMessage(MESSAGE_RANDOM); 


      } else { 
       // Stop 
       generate.setEnabled(false); 
       mp.stop();       
       mp2.start();  

       mStarted = false; 
       Toast.makeText(finish.this, "Stoping...", Toast.LENGTH_SHORT).show();        
      }  
     }  
    }; 

は、一般的にMediaPlayerのを停止するコードです。しかし、あなたが停止し、開始する必要がありますかこれは何ですか?

+0

どの行でmp.stop()を停止できますか。 2回目のボタンを押した後 – user814154

0

mp2.stop()

+0

初めてボタンを押すと、最初の音が鳴ります。その後、ボタンを2回押すと、最初の音の停止と2回目の音の開始 – user814154

1

mp2.stop()mp.start()の前に、そしてmp.stop()mp2.start()の前に追加するだけです。 MediaPlayersが初期化され、すべてのMediaPlayerのインスタンスの

if (mp != null && mp.isPlaying()) 

を呼び出し経由でプレイしているかどうかをチェックすることを忘れないでください。

これが役に立ちます。

+0

mp2.start()の前にmp2.stop()とmp.stop()を追加できません。いくつかのエラー – user814154

+0

@ user814154を持っているので、上記のチェックを追加しましたか? – Egor

+0

はい私はすでにそれを追加していますが、エラーがあります – user814154

関連する問題