2013-12-11 32 views
0

我想開發android聲音應用程序,我是一種新的發展,所以我被困在1小問題。 我在按鈕上點擊播放聲音,但我想要當我再次單擊該按鈕時,我希望它停止媒體播放器。如果你能幫我處理劇本,我將不勝感激。如何停止點擊媒體播放器?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prvi); 

    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm); 

    Button dugme = (Button) findViewById(R.id.dugme); 
    dugme.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
       mpButtonClick1.start(); 
     } 
    });  
} 

回答

0

您可以使用MediaPlayer.isPlaying()確定你的按鈕應該在點擊時進行。

@Override 
    public void onClick(View v) 
    { 
     if(mpButtonClick1.isPlaying()) 
     { 
      mpButtonClick1.stop(); 
     } 
     else 
     { 
      mpButtonClick1.start(); 
     } 

    } 
-1
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prvi); 

    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm); 

    boolean isOn = false; 

    Button dugme = (Button) findViewById(R.id.dugme); 
    dugme.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      is(!isOn) { // if not playing 
       mpButtonClick1.start(); // start 
       isOn = true; // now it is 
      } else { // otherwise it's already on 
       mpButtonClick1.stop(); // turn it off 
       isOn = false; // now it's off 
      } 
     } 
    });  
} 
+0

這是-1因爲我沒有使用'.isPlaying()'?真的嗎?這是另一種方法,即使不存在'.isPlaying()'*也可以工作。 –

0

可以使用isPlaying方法。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prvi); 

    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm); 

    Button dugme = (Button) findViewById(R.id.dugme); 
    dugme.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
       if(mpButtonClick1.isPlaying()) 
        stopPlaying(); 
       else 
        mpButtonClick1.start(); 
       } 
    });  
} 


private void stopPlaying() { 
     if (mpButtonClick1 != null) { 
      mpButtonClick1.stop(); 
      mpButtonClick1.release(); 
      mpButtonClick1 = null; 
     } 
    }