2012-07-25 3 views
1

비디오를 재생하는 MediaPlayer가 있는데 화면을 잠근 다음 잠금을 해제하면 비디오가 다시 시작됩니다.화면이 잠긴 후 MediaPlayer가 다시 시작됩니다.

현재 내가

KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
    KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
    lock.disableKeyguard(); 

을 사용하고 그리고 그것은 작동하지만 당신이 홈 버튼을 누르면 응용 프로그램이 꺼져 있기 때문에 화면을 잠글 수 없습니다. KeyGuardLock을 사용하지 않고도 비디오 진행을 유지하는 더 나은 방법을 알고 계십니까?

답변

4

대신 KeyGuard 대신 android:keepScreenOn=true을 레이아웃 xml의 VideoView에서 사용할 수 있습니다.

동영상의 진행률을 onSaveInstanceState()에 저장하고 진행률 데이터를 onRestoreInstanceState()에로드해야합니다. 방금 가져온 데이터가 포함 된 동영상에 seekTo(progress)을 사용할 수 있습니다.

또한 새 재생 인 경우 onRestoreInstanceState()에서 null을 확인하는 것을 잊지 마십시오.

+0

올바른 접근 방식 인 것 같습니다. 그러나 비디오 스트림을 재생할 때부터 완전히 만족스럽지 않습니다. 그러면 비디오가 리핑됩니다. – Slickelito

0

어디에서 동영상을 재생할 미디어 플레이어 (mvideo.start)를 시작합니까? onCreate 메서드 또는 onRestart 메서드에 있습니까? 이 문제를 해결하기 위해 질문을 코드로 업데이트하면 도움이 될 것입니다.

관련 문제