我正在使用一個按鈕「音樂」與2個動作PLAY和STOP,當我第一次點擊音樂播放時,然後當我再次點擊它停止。但是,當我第二次點擊時,所有動作PLAY/STOP都不起作用。如何再次播放/停止mediaplayer?
public class Home extends Activity {
boolean isMediaOn=false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageButton music=(ImageButton)findViewById(R.id.music);
final MediaPlayer sound=MediaPlayer.create(Accueil.this,R.raw.star);
music.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// play
if(isMediaOn==false)
{
System.out.println("PLAY");
sound.start();
music.setImageResource(R.drawable.music);
isMediaOn=true;
}
// stop
else
{
System.out.println("STOP");
if(sound.isPlaying()){
sound.reset();
sound.stop();
}
music.setImageResource(R.drawable.no_music);
isMediaOn=false;
}
}
});
這裏是我的logcat的截圖:
那麼如何解決這個問題呢? – Angelika 2012-08-05 17:50:45
@Angelika:取決於你想要完成的事情。例如,你爲什麼要調用'reset()'?根據當前狀態,請參閱http://developer.android.com/reference/android/media/MediaPlayer.html瞭解您可以到達哪些狀態。在你的情況下,你可能會用'pause'替代你的'reset' +'stop'(根據你所尋找的行爲,可能後面跟着'seekTo(0)')。 – Michael 2012-08-05 18:35:09