AI summary
Set any local video or animated GIF as a looping live wallpaper. Features adjustable playback speed (0.25x–2.0x), Fill/Fit scaling, and silent preview. No ads, analytics, or network access. Uses a custom OpenGL ES renderer for proper portrait video orientation and includes a pure Kotlin GIF89a decoder.
Generated by AI. May contain inaccuracies.
About this app
Небольшое приложение для Android, которое позволяет выбрать любое видео или анимированный GIF-файл с вашего устройства и установить его в качестве зацикленных живых обоев.
Особенности
- Выберите видео или анимированный GIF-файл с помощью системного средства выбора файлов. - Предварительный просмотр зацикливания (без звука) перед настройкой. - Регулируемая скорость воспроизведения (0,25x–2,0x) - Масштабирование «Заполнить» (обрезать до размера экрана) или «Подогнать» (показать весь кадр, при необходимости в почтовом ящике), отображается как в предварительном просмотре, так и на обоях. - Портретные видео с телефона отображаются правильно. - Настройка обоев в одно касание с помощью собственного средства выбора живых обоев Android. - Никакой рекламы, никакой аналитики, никакого доступа к сети.
Как это работает
В приложении реализована служба обоев Android, которая зацикливает выбранное вами видео с помощью MediaPlayer. Начиная с версии 1.2.0, декодированные кадры передаются в SurfaceTexture и отрисовываются с помощью небольшого средства визуализации OpenGL ES 2.0 (VideoFrameRenderer.kt), которое применяет собственное вращение видео, поэтому портретные телефонные клипы выходят вертикально. Именно это обеспечивает работу масштабирования Fill and Fit: обычное масштабирование видео в Android основано на изменении размера поверхности дисплея, чего не могут делать живые обои (см. проблему № 1).
GIF-файлы (версия 1.3.0) не проходят через MediaPlayer. GifDecoder.kt — это небольшой декодер GIF89a на чистом Kotlin, написанный для этого приложения, а GifPlayer.kt показывает по одному кадру за раз, синхронизируя его собственную задержку каждого кадра, разделенную на заданную вами настройку скорости. Кадры загружаются в виде текстур в один и тот же модуль рендеринга, поэтому функции «Заливка» и «Подгонка» работают одинаково для GIF-файлов и видео. Приложение распознает GIF-файлы по заголовку файла, а не по имени файла. Прозрачные области GIF отображаются черным цветом, а файлы GIF размером более 50 МБ не поддерживаются.
Установка обоев осуществляется с помощью собственного системного средства выбора Android (ACTION_CHANGE_LIVE_WALLPAPER). ОС требует этого для всех приложений с живыми обоями, а не только для этого.
Android применяет живые обои одновременно к главному экрану и экрану блокировки, а API живых обоев не имеет настройки для каждого экрана. Средства выбора системы некоторых устройств по-прежнему могут предлагать дополнительные варианты выбора; если у вас есть, видео воспроизводится на любом экране, который вы выберете.
Конфиденциальность
Приложение не имеет разрешения на подключение к Интернету и не содержит кода аналитики, отслеживания или рекламы. Единственное, что он хранит, — это ссылку (URI) на выбранное вами видео или GIF, которая хранится локально в SharedPreferences на вашем устройстве.
About this version
- Version
- 1.3.0 (10)
- Size
- 4.79 MB
- Requires Android
- 8.0
- Target SDK
- 26
- Architecture
- universal
- Downloads
- 44
- Updated
- Oct 8, 2026
- Package
- io.github.codeg0blin.videowallpaper
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10