안드로이드 개발 질문/답변
(글 수 45,052)
Media player 사용하여 음원 재생중 에러가 있어요
재생, 일시 멈춤 , 다음노래 재생 까지 다 잘되는데 이놈이 신경쓰이네요.
로그에 뜹니다
로그는 mp3Extractor
로그 메세지 Unable to resync. Signaling end of stream 입니다.
자세한 로그는 그림 파일을 참고하세요.
소스는 이부분 클릭시 납니다.
private View.OnTouchListener mainIamgeClick = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { // TODO 화면 이미지 클릭시 노래 재생 if (event.getAction() == MotionEvent.ACTION_DOWN) { if (Cmp.getFlag()) { Cmp.getMp().pause(); Cmp.setFlag(false); } else { Cmp.setCmpPrepare(MusicList.get(setImageIndex) .getPreListenUrl()); Cmp.getMp().start(); Cmp.setFlag(true); } return true; } return false; }
Cmp 의 해당 클래스입니다
public class CustomMediaPlayer { private MediaPlayer mp; private boolean mpPlayFlag = false; public CustomMediaPlayer() { mp = new MediaPlayer(); } public void setCmpPrepare(String pUrl) { try { mp.reset(); mp.setDataSource(pUrl); mp.prepare(); } catch (IllegalArgumentException e) { System.out.println("dd"); } catch (IllegalStateException e) { System.out.println("ee"); } catch (IOException e) { System.out.println("ss"); } } public MediaPlayer getMp() { return mp; } public boolean getFlag() { return mpPlayFlag; } public void setFlag(boolean falg) { mpPlayFlag=falg; } } };