마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼 하나로 정지와 재생을 하고 싶은데요

0 추천
mPlayer = MediaPlayer.create(this, R.raw.background);
  bt.setOnClickListener(new OnClickListener() {
   public void onClick(View v){
    
    
    
    mPlayer.seekTo(0);
    mPlayer.start();
    
   }
  });

 

지금 소스는 그냥 재생만 되는데

 

if함수를 써서 재생 정지를 만들고 싶습니다...

 

어떻게 해야 하나요??
L0veIsPain0602 (330 포인트) 님이 2013년 4월 23일 질문

2개의 답변

0 추천
 
채택된 답변
변수를 하나 선언해서 처리하면 될거 같습니다.

 

ex) boolean isPlay = false;

if(!isPlay) {

 isPlay = true;

 mPlayer.seekTo(0);

 mPlayer.start();

} else{

 isPlay = false;

 mPlayer.stop();

}
사살자 (1,500 포인트) 님이 2013년 4월 24일 답변
L0veIsPain0602님이 2013년 4월 30일 채택됨
지금 바로 추가 해봤는데 정지가 안되네요;;;;

그냥 재생만 되어 버립니다....
여기서 변수를 listener 내에 생성하지 마시고 전역 변수로 선언하셔야 합니다.
아니면 건방진 프로그래머님답변을 이용하여 if(mPlayer.isPlaying()) 을 사용하셔서 true면 재생중이니 stop을 하시고 else에 start를 하시면 됩니다.

if(mPlayer.isPlaying()){
 mPlayer.stop();
}else{
 mPlayer.start();
}
0 추천

 

public boolean isPlaying ()

Added in API level 1

Checks whether the MediaPlayer is playing.

Returns
  • true if currently playing, false otherwise
Throws
IllegalStateException if the internal player engine has not been initialized or has been released.

 

건방진프로그래머 (26,630 포인트) 님이 2013년 4월 24일 답변
...