안드로이드 미디어 플레이어를 만들고 있습니다.
rtsp스트리밍 또는 저장파일을 재생하는데..
탐색(seek)작업을 하면 재생되기 전까지 '로딩중'이라는 다이얼로그를 띄우려 합니다.
MediaPlayer API를 확인해서 다음 리스너들을 사용해봤지만 실패하였습니다.
OnCompletionListener -- 실패 : 미디어가 완전 종료 되었을때 호출
OnBufferingUpdateListener -- 실패 : 경우에 따라 버퍼링 없이 seek이 수행됨
OnPreparedListener -- 실패 : 미디어를 첫 호출시에만 수행되고 seek할때는 안됨
OnSeekCompleteListener -- 실패 : seek이 끝났다고해서 바로 재생되는것이 아님(버퍼링이 다음에 시작한다거나 한참후에 실제 재생이 이루어짐 rtsp라서 그런거 일수도.)
그래서 대안으로 CurrentPosition 값을 쓰레드로 보고 있다가 이 값이 변화 하지 않을 경우 로딩 다이알 로그를 띄우게 했습니다.
그런데 이 방식을 쓰지말고 재생준비가 완료 되었을때 떨어지는 것이 있으니 그걸 써서 로딩 다이알 로그를 표시 하라고 합니다.
어찌 해야 할까요?