아래는 코모스튜디오가 직접 만든 무료 앱이에요(한 번만 봐주세요 ^^)
error (-38, 0)
미디어 플레이어가 준비 되지 않았는데 시작 하게 되면 발생하는 에러다.
즉, 준비 리스너를 달고 난 뒤 준비가 끝났다는 이벤트가 오면 시작 시키도록 하자.
mPlayer.prepareAsync();
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
그러나,
위와 같이 하면 또.. -38이 날 확률이 높다.
mPlayer.prepareAsync();
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mPlayer.prepareAsync();
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
try{
mp.release();
}catch(Exception e){
e.printStackTrace();
}
}
});
그리고, 항상 에러 리스너를 달아서 에러 나면 아래와 같이 필요한 작업들을 꼭 하도록 해야, 다음 번 작업에 영향을 미치지 않는다.
mPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
try {
mp.stop();
mp.release();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
});
아래는 코모스튜디오의 새 앱인 정각알람 만들기 Plus 입니다.
꼭 한번 구경하고 가세요 ^^
' [안드로이드 공부] > 미디어' 카테고리의 다른 글
StaleDataException: Attempted to access a cursor after it has been closed. (1) | 2018.09.24 |
---|
모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다. |
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요. |