2012-03-20 2 views
2

저는 ViewPager를 사용하여 비디오를보고 페이지를 볼 수있는 태블릿 응용 프로그램을 만들고 있습니다. 비디오는 VideoView를 사용하고 있습니다. Xoom과 Transformer Prime에서 잘 작동합니다. 갤럭시 탭 10.1에서는 새 페이지를 만든 후 비디오 오류가 자주 선택됩니다. 나는군요 : 페이지가 선택으로VideoView/MediaPlayer 오류로 인해 비디오 재생이 실패하는 경우가 있음

MediaPlayer Error(1,-214783648) 
VideoView Error: 1, -214783648 

동영상로드와 나는 즉시로드됩니다으로 비디오 재생을 시작하는 onPrepared 수신기를 사용하고 있습니다. onPrepared가 호출되기 전에 오류가 발생하는 것으로 보이지만 동영상의 첫 번째 프레임을 볼 수 있으므로로드 된 것처럼 보입니다. 지연 재생을 시도했지만 개선되지 않았습니다. 한 번 작동하지 않는 OnErrorListener에서 비디오를 다시로드하려고 시도했습니다. 갤럭시 탭은 3.1에 붙어있는 유일한 타블렛이지만, 그것과 관련이 있는지 확실하지 않습니다.

답변

1

갤럭시 탭 10.1 (또는 안드로이드 3.1 ...은 여전히 ​​남아 있습니다)은 한 번에 두 개의 비디오 만 디코딩 할 수 있습니다. viewPager를 사용하고 있으므로 잠재적으로 3 개의 비디오가로드됩니다. 이 솔루션은 페이지가 선택 될 때까지로드를 지연하고 마지막 활성 뷰를 제외한 다른 뷰가 삭제되었는지 확인하여 두 개의 비디오를로드하는 것입니다.

0

나는 며칠 전에 같은 문제에 직면했다. 당신은 당신의 Views 나의 친애하는 anakin78z를 파괴 할 필요가 없습니다. 나는이 반응이 너무 조금 늦게 올 것을 확신

@Override 
public void onPageSelected(int position) { 
    stopVideoView(position - 1); 
    stopVideoView(position + 1); 
    startVideoView(position); 
} 

private void startVideoView(int index) { 
    VideoView videoView = getVideoView(index); 
    if (videoView != null) 
     videoView.start(); 
} 

private void stopVideoView(int index) { 
    VideoView videoView = getVideoView(index); 
    if (videoView != null) { 
     videoView.stopPlayback(); 
} 

private VideoView getVideoView(int index){ 
    // Retrieve your videoviews here 
} 

:

나는 나의 ViewPager에 내 자신의 SimpleOnPageChangeListener을 추가하고 내 청취자에 다음 코드를 추가하여 내 태블릿에서 동일한 문제를 해결 그러나 나는 그것이 누군가를 도울 것이기를 바란다!