В 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
Воспроизведение рекламы в определенное время видео в ExoPlayer ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1729686206
Anonymous
В Android (kotlin) я использую ExoPlayer [b]2.18.1[/b] для потоковой передачи фильмов, а чтобы добавить рекламу к этим фильмам, я использовал расширение 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()
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79117663/play-ads-at-specific-times-of-a-video-in-exoplayer[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия