Exo player 셋업을 마치고 player에 Uri 파일을 넘겨주는 과정에서
java.net.MalformedURLException: unknown protocol 에러가 발생하였다.
player에 넘겨주고자 했던 건 프로젝트의 리소스 폴더 내 raw 폴더에 넣어둔 mp4 파일이었는데,
기타 다양하게 나와있는 Uri 생성 방법으로 해보았으나 실패하였고, 결론적으로
아래의 방식을 통해 문제를 해결할 수 있었다.
val rawDataSource = RawResourceDataSource(context)
rawDataSource.open(DataSpec(RawResourceDataSource.buildRawResourceUri(R.raw.sample_video)))
val videoSource = ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(rawDataSource.uri)
player.prepare(videoSource)
RawResourceDataSource에 참조하고자 하는 리소스 id를 집어넣은 뒤, 여기로부터 uri를 참조하니
원래부터 보고자 했던 토깽이(샘플 영상에 등장하는 비만토끼)가 오류없이 잘 등장하는 것을 확인하며 해피엔딩을 맞을 수 있었다.
< 참조 >
https://gist.github.com/davidalbers/bddea847f786932c79b781b6e22dfd33