2011-09-26 3 views
3

저는 VideoView로 활동하고 있는데, 웹에서 비디오를로드합니다. 그러나 사용자가 비디오가 완전히로드되기 전에 뒤로 버튼을 클릭하면 화면이 검은 색으로 변하고 이전 활동으로 돌아 가기까지 몇 초가지나갑니다. VideoView가 더 빨리 종료되도록 강제하는 방법이 있습니까?Android - VideoView로 활동을 마감 할 때 지연이 있습니다.

다음은 스트림 설정을위한 코드입니다. 동영상의 URL은 의도에 전달됩니다.

public class VideoPlayer extends Activity { 
    ... 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    ... 

    VideoView videoView = (VideoView) findViewById(R.id.video_view); 
    MediaController mediaController = new MediaController(this); 
    mediaController.setAnchorView(videoView); 
    videoView.setMediaController(mediaController); 
    videoView.setOnPreparedListener(videoPreparedListener); 
    videoView.setOnErrorListener(videoErrorListener); 
    Uri video = Uri.parse(<myvideourl>); 
    videoView.setVideoURI(video); 

    } 
    … 

} 

답변

3

활동이 완료되기 전에 실제로 동영상을 중단해야합니다. 그렇지 않으면 장치 회전시에 IllegalStateException을 가져오고 매니페스트 파일에서 장치 회전에 따라 작업이 다시 작성되도록 선택했을 수도 있습니다. 이것을 시도하십시오 :

@Override 
protected void onPause() 
{ 
    super.onPause(); 
    mVideoView.stopPlayback(); 
} 
+0

나는 이것에도 동의합니다 –

+2

고마워요.하지만 이전 활동으로 돌아 오는 데 오랜 시간이 걸리지는 않습니다. 내가 놓칠 수있는 건 없니? MediaPlayer에서 release()를 호출 할 수있는 것 같지 않습니다. VideoView에서 이에 상응하는 항목이 있습니까? 또한 mVideoView.suspend()를 onPause()에 추가하려고 시도했지만 도움이되지 않았습니다. 스트림을 얻는 연결이 해제되지 않고 응용 프로그램에 병목 현상이 있는지 궁금하네요 ... – bkurzius

+0

대신 비디오 플레이어를 사용하기로 결정했습니다 ... – bkurzius

관련 문제