Я новичок в android и kotlin, у меня exoplayer 2.11.3, работающий с расширением IMA. Он работает нормально, воспроизводит мой предварительный ролик в начале воспроизведения видео, но в режиме паузы приложения, а затем возобновляет воспроизведение рекламы, прежде чем возобновить работу с правильного места в HLS.
Это так, как задумано расширением ? Кроме восстановления медиаресурса без рекламы при возобновлении / запуске, есть ли лучшее решение?
Это мое настоящее удовольствие от initPlayer, вызываемое при возобновлении запуска в зависимости от версии SDK.
private fun initPlayer(){
if(mPlayer == null) {
mPlayer = SimpleExoPlayer.Builder(this)
.setTrackSelector(DefaultTrackSelector(this))
.build()
playerView.isFocusable = true;
playerView.player = mPlayer
playerView.setShowBuffering(SHOW_BUFFERING_ALWAYS)
val dataSourceFactory = DefaultDataSourceFactory(
this, Util.getUserAgent(
this, "MyVideoPlayer"
)
)
val videoSource = HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(M3U8_URL))
// Add ads to the start
adsLoader = ImaAdsLoader(this, Uri.parse(IMA_ADS_UR))
adView = playerView.overlayFrameLayout
adsLoader?.setPlayer(mPlayer)
mediaSouce = AdsMediaSource(
videoSource, dataSourceFactory,
adsLoader!!,
playerView
)
mPlayer?.playWhenReady = playWhenReady!!
}
mPlayer?.prepare(mediaSouce,false,false)
mPlayer?.seekTo(currentWindow!!,playbackPosition!!)
}
Спасибо