에디터 상태에서 재생하면 아무런 문제도 없는데 apk로 빌드해서 테스트용 폰에 올려서 재생을 하면 영상이 중간에 멈춰버리는 일이 자주 있다.
isPlaying, isPaused 같은거 확인해봐도 아무런 문제가 없는데 아무튼 멈춰있다.
영상 파일 해상도가 너무 높고 그래서인듯
videoPlayer.loopPointReached 이벤트에 반응해서 진행되도록 해놨는데, 영상 끝에 도달하질 않으니 이벤트가 먹통이 되는 문제 발생.
다양한 옵션을 바꿔보면서 빌드를 반복하는 허송세월을 보내봤지만 명확하게 해결하진 못 했다.
private void Update() {
if (isVideoPlaying) {
if (videoLastFrame == videoPlayer.frame) videoFrameBugStack++;
else videoFrameBugStack = 0;
videoLastFrame = videoPlayer.frame;
if (videoFrameBugStack > 60) {
Debug.Log("비디오 버그!");
videoFrameBugStack = 0;
videoPlayer.Pause();
videoPlayer.frame = videoLastFrame;
videoPlayer.Play();
}
}
}
그저 Update에서 비디오가 재생 중인데, 비디오 프레임이 제자리에서 머물고 있는 경우
버그로 판정하고 Pause와 Play를 한 번씩 쏴 줘서 억지로라도 진행을 시켜서 완화시켰을 뿐.
가끔 이래도 끝까지 재생 못 하는 상황이 발생하기도 하는데...
음...