안드로이드 개발 질문/답변
(글 수 45,052)
public class sound extends Activity {
MediaPlayer mp;
ImageButton playbtn;
ImageButton stopbtn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sound);
super.onCreate(savedInstanceState);
playbtn = (ImageButton) findViewById(R.id.btnsound8);
stopbtn = (ImageButton) findViewById(R.id.stopButton);
playbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { mp = MediaPlayer.create(sound.this, R.raw.mrain2);
mp.setLooping(true);
mp.start();
}
});
stopbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { mp.stop();
}
});
}
}
초보라서ㅠㅠ 도와주세요
2011.11.15 19:11:30
API 에는 이렇게 설명 되어 있네요.
Convenience method to create a MediaPlayer for a given resource id. On success, prepare() will already have been called and must not be called again.
When done with the MediaPlayer, you should call release(), to free the resources. If not released, too many MediaPlayer instances will result in an exception.
즉, Prepare는 알아서 불릴테니깐 절대 다시 부르거나 하면 안된다는건데...
로그상에서는 prepare를 하다가 죽는걸 보면, 이외에 다른곳에서 혹시 mediaplayer 를 prepare 한 곳이 있는지
확인 해 보심이...




playbtn 자체가 지금 NullpointerException이 나는걸 보니-_-
버튼생성시에 뭔가 제대로 안된거 같은데요?;