개요

ExoPlayer 기본 버전은 일부 단말별로 ac3 decoder가 없어서 ac3로 encoding된 동영상의 오디오가 재생되지 않는다.

방법

따라서 아래의 안내와 같이 ffmpeg extensions를 적용해야 ac3 오디오를 디코딩할수 있다.

ffmpeg 빌드 방법

ffmpeg extension을 aar로 빌드

https://github.com/google/ExoPlayer에서 ExoPlayer를 clone 받는다.

Android Studio를 열어서 ffmpeg-extensions를 assembleRelease한다.

폴더에서 aar 파일을 복사한다.

다운로드: extension-ffmpeg-release.aar (모든 코덱 적용)

exoplayer에 ffmpeg extension을 적용

build.gradle에 다음과 같이 aar를 링크한다.

dependencies {

implementation files('../libs/extension-ffmpeg-release.aar')

}

다음과 같이 SimpleExoPlayer 초기화 코드에 FfmpegAudioRenderer를 적용한다.

private fun buildPlayer(): SimpleExoPlayer {

// simple player 만들기

val factory = DefaultRenderersFactory(this)

factory.setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER)// for ffmpeg extension

val builder = SimpleExoPlayer.Builder(this, factory)

return builder.build()

}

--

--