Воспроизведение рекламы в определенное время видео в ExoPlayerAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Воспроизведение рекламы в определенное время видео в ExoPlayer

Сообщение Anonymous »

В Android (kotlin) я использую ExoPlayer 2.18.1 для потоковой передачи фильмов, а чтобы добавить рекламу к этим фильмам, я использовал расширение IMAadsLoader для загрузки рекламы и ее воспроизведения, в настоящее время я использую только тестовый adTagUrl, и реклама воспроизводится до начала воспроизведения видео (преролл).
Есть ли способ воспроизводить рекламу в определенное время видео?
например, Я хочу, чтобы реклама воспроизводилась через 60 секунд после начала видео.
Еще одна вещь, которой я не могу добиться, — это воспроизводить рекламу несколько раз.
У меня есть несколько длинных видео, и я хочу для воспроизведения на них нескольких объявлений
Я искал способы вручную загрузить и запустить рекламу, но не нашел ни одного.
Это мой текущий код для потоковой передачи фильмов и добавления в них рекламы:
val trackSelectorParameters = DefaultTrackSelector.ParametersBuilder(this).build()
val trackSelector = DefaultTrackSelector(this)
trackSelector.parameters = trackSelectorParameters
videoUrl = playerData.url
val videoUri = Uri.parse(videoUrl)
val adTagUri = Uri.parse(getString(R.string.ad_tag_url))

mediaItem = MediaItem.Builder()
.setUri(videoUri)
.setAdsConfiguration(AdsConfiguration.Builder(adTagUri).build())
.build()

player = ExoPlayer.Builder(this)
.setTrackSelector(trackSelector)
.build()
adsLoader!!.setPlayer(player)

activityPlayerBinding.playerView.player = player
player!!.trackSelectionParameters = player!!.trackSelectionParameters
.buildUpon()
.setMaxVideoSizeSd()
.setPreferredAudioLanguage("hu")
.build();
player!!.addListener(PlayerEventListener(this))
activityPlayerBinding.playerView.setControllerVisibilityListener {
if(it == 0) activityPlayerBinding.playerOptions.visibility = View.VISIBLE
else activityPlayerBinding.playerOptions.visibility = View.GONE
}

mediaSource = DefaultMediaSourceFactory(this)
.setAdsLoaderProvider { adsLoader }
.setAdViewProvider(playerView)
.createMediaSource(mediaItem)
player?.let {
it.setMediaSource(mediaSource)
it.seekTo(TimeUnit.SECONDS.toMillis(viewModel.playerVideoData.value!!.duration.toLong()))
it.prepare()
it.play()
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... -exoplayer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»