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;
}
});
'MOBILE' 카테고리의 다른 글
Stream Play online audio mp3 from URL in android without downloading (0) | 2016.11.04 |
---|---|
Android VideoView error 처리하기 (0) | 2016.11.04 |
안드로이드: 서비스 Service 예제 (0) | 2016.11.04 |
[Android]MediaPlayer에서 사운드를 재생하는 두 가지 경로 (0) | 2016.11.04 |
jQuery Mobile에서 유용한 코드 10가지 (0) | 2016.10.21 |
3가지 메소드로 끝내는 안드로이드 마시멜로 권한 획득 (0) | 2016.08.21 |
안드로이드에서 띄울수 있는 여러가지 다이얼로그 (0) | 2016.08.21 |
Android 의 Storage Path 및 코드 구현 기술 (0) | 2016.08.21 |
댓글