Unity Android Video Player 오류 해결
Unity Android Video Player 오류 해결
며칠 전 Android에서 Unity의 video player를 사용해서 플레이테스를 했었는데, 무슨 수를 쓰더라도 되질 않았다.
결과적으론 정말 간단히 해결되었는데, 이건 Unity의 버그가 맞는 것 같다.
테스트한 항목은 Video Player의 URL 기능을 이용해서 자체적으로 녹화된 영상을 재생하는 것이었다.
하지만 Unity2018.4.3에서는 플레이가 되지 않았다.
PC에서는 문제없이 재생되지만 Android로 빌드하면 안 되는 것이다.
특히나 경로문제일 가능성이 있어서 앱에서 파일 삭제기능을 만들어서 삭제가 잘 되었기 때문에 경로문제는 아니다. 그리고 특히 Android의 버전 및 API의 버전, 그리고 주 동영상 포맷인 mp4와 인코딩한 주 코덱(H263, H264, H265 등) 따라서 요구되는 권한이 달라질 수 있다고 했기 때문에 여러 가지 고려해서 테스트를 많이 했다.
파일경로는 먼저 Android의 루트 폴더에서 Moveis에 접근하여 읽어 들이는 것으로 진행했다.
그리고 정말 많은 구글링을 통한 문제 해결 방안을 찾아봤지만 못찾았다.... 해외에서도 꽤 많은 버전들은 그대로 버그로 남아 있는 것 같다.
Unity의 이슈트래커에도 올라왔으나 제대로 해결된 것 같지 않다.
Unity IssueTracker - [Android][VideoPlayer] Video is not launched when VideoPlayer Source is set to URL
How to reproduce: 1. Create a new project 2. Add 3D Object to the scene 3. Add ‘VideoPlayer’ component to the object 4. Set "Source"...
issuetracker.unity3d.com
Unity IssueTracker - [Android] Video Player cannot play files located in the Persistent Data directory on Android 10
Repro steps: 1. Open QA attached project ” repro_1168329" 2. Build and Run on Android Actual: An error is displayed on the screen st...
issuetracker.unity3d.com
결과적으로 Unity 2018.x ~ 2020.x 의 특정 버전은 버그가 있다는 것으로 판단된다.
따라서 별도의 버전 확인용으로 설치한 Unity 2021.3 에서 빌드하니 너무나 잘되는 것이다. 다행히 다른 API나 함수 충돌도 없지만 용량은 무려 30%가 늘어났다. (사실 이 용량 늘어나는 것 때문에 상위버전을 안 쓰는 이유도 있다)
하여튼 Video Player는 문제가 많은 기능이었던 것 같다.