미디어 플레이어 구조상 Surface에 render가 되어야만 화면이 그려지는데, 스와이프가되면,
MediaPlayer 상태가 idle->prepareAsync->prepared->start -> 첫번째 render까지 되어야 화면이 그려지다보니,
검은 화면이 나올수밖에 없는듯 합니다.
결국은 미리 첫번째 render까지 되어야 해결 될 듯 한데, viewpager를 쓰는 정상적인 방법으론 쉽지 않는 듯 합니다.
저희 경우 편법으로 VideoView를 여러개 만들고 위치만 RelativeLayout.LayoutParams 로 위치를 배정
보일 화면만 화면 정위치에 배치하고,
다른 VideoView는 소리를 setVolume으로 0으로 설정해서 화면 밖에서 플레이하다,
스와이프 시 위치와 소리가 변경되게 하는 방식으로 구현을 해서 해결한 적이 있습니다.
그림으로 그리면 아래와 같은 식입니다.
--------폰화면-------- 안보이는데
1첫번째 VideoView 2번째 VideoView
------------------------
스와이프 시
안보이는데 -----폰화면------
1첫번째 VideoView 2번째 VideoView
------------------