1

내 응용 프로그램에서 MediaPlayer를 사용하여 음악을 재생하고 있습니다. 일시 중지했다가 다시 시작해야 할 때 mPlayer.isPlaying()을 사용하여 상태를 확인하지만 때때로이 상태가 예외로 throw됩니다.미디어 플레이어 isPlaying이 불법적 인 상태를 던졌습니다. android

왜 이런 일이 발생합니까? 그리고이 시대에 당신은 무엇을해야합니까? 플레이어의 상태는 어떻게 결정합니까?

+3

코드를 표시하십시오 :) 도 기록하십시오. 감사! –

답변

5

안드로이드 문서에 따르면

". IllegalStateException이 내부 플레이어 엔진이 초기화되지 않았거나 해제 된 경우"

나는 먼저 플레이어를 초기화하고 플레이어를 릴리즈하지 않았는지 확인합니다.

MediaPlayer는 이상 할 수 있습니다. 논리가 이미 이치에 맞다고해도 다른 문장으로 놀아 볼 가치가 있습니다. 나는 당신이 코드를 게시한다면이 점에 관해서 더 당신을 도울 수있다.

지금은 try-catch 문을 사용하여 catch에 무언가를 넣어 MediaPlayer가 제대로 작동하는지 확인할 수 있습니다.

편집 1 : 어둠 속에서도 추측 할 수 있습니다. MediaPLayer에 정적 전역 변수를 사용하는 경우 문제가 될 수 있습니다. 클래스와 클래스를 전환 할 때 초기화 및 해제 방법을 두 번 확인합니다.

+0

예, 정적 MediaPlayer 개체를 사용하고 있습니다. 나는 다시 무슨 일이 일어나는지 확인하고 돌아올거야. 고맙습니다! – Namratha

+0

setDataSource 호출에서 파일 경로를 사용하기 전에 파일 경로가 올바른 파일 경로인지 어떻게 확인할 수 있습니까? – Namratha

관련 문제