본문 바로가기

exoplayer

(3)
[안드로이드 | ExoPlayer] EventListener를 활용해 여러개의 동영상 연달아 재생하기 ExoPlayer를 동영상 재생에 쓰던 중에 여러개의 영상을 연달아 보여줘야 하는 요구사항이 생겼다. 이를 위해 일전에 에셋을 리스트 형태로 만들어 다른 용도로 썼던 것을 떠올려 구현을 해보기로 했다. 1. ExoPlayer Initialize 2. 비디오 에셋 resourceList 설정 3. ProgressiveMediaSource ArrayList에 차례대로 resourceList를 로딩해 add 4. Player.EventListener Initialize 5. ExoPlayer에 listener add 6. ExoPlayer.setShutterBackgroundColor(Color.TRANSPARENT) 7. 영상을 차례대로 재생하는 플레이어 감상 - 기본 설정 ..
[안드로이드] ExoPlayer2 오류 : invoke-customs are only supported starting with Android O) invoke-customs are only supported starting with Android O) Defaut interface methods are only supported starting with Android N .. 영상 재생을 위한 ExoPlayer를 Implement하는 과정에서 위와 같은 오류가 발생했다. Stack Overflow에서 어렵지 않게 해결책을 구할 수 있었는데, 비슷한 오류를 겪은 사람들이 많았던 듯. 아래의 코드를 app레벨의 gradle 파일에 추가하자. android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 ..
[안드로이드] Exo Player에서 발생하는 java.net.MalformedURLException: unknown protocol 해결 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 = Prog..