TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #164 · 14 окт.

🙄Разминка для ума! Треугольник Серпинского, интересная фигура которую построить достаточно просто. Алгоритм такой: 1. создаём любые 3 точки на плоскости 2. из этих точек случайно выбираем любую, как начальную 3. случайно выбираем любую точку из этих же трёх точек как цель 4. перемещаемся в сторону цели на половину расстояния 5. повторяем бесконечно с пункта 3 Если сделать достаточно много итераций то вырисовывается интересная фигура. Треугольник, в который вписаны более мелкие треугольники. Это самый настоящий фрактал! Я собрал пример построения такой фигуры на базе Qt. 🌎 Код можно посмотреть здесь. С помощью paintEvent я рисую точки по озвученному алгоритму. Каждые 10 секунд либо по клику на виджете строится следующий треугольник. Особенности примера: 🔸 Атрибут Qt.WA_OpaquePaintEvent позволяет сохранить то, что было нарисовано в прошлой итерации. Таким образом мы видим постепенное наполнение точек а не мелькающую одну точку. 🔸QTimer позволяет создавать отложенные вызовы один раз или с повторением через интервал. 🔸QColor.fromHsv() позволяет создать рандомный но предсказуемый цвет с помощью HSV схемы. Не слишком светлый и не слишком тёмный но всегда с разный. Рандомизации подвергается только смещение по цветовому кругу (Hue), яркость (Value) и насыщенность (Saturation) можно контролировать отдельно в своих пределах или оставить статичными. Обычный рандом цвета по RGB не даёт такой предсказуемый результат. 🔸 Каждый новый цикл с новым треугольником предварительно затемняет предыдущие через этот вызов painter.fillRect(rec, QColor(0, 0, 0, 100)) То есть полупрозрачный цвет. Таким образом, чем старше треугольник, тем он темней. Если сделать виджет фулскрин, то у нас получится некий ScreenSaver))) 🔸 Да, я знаю, что рисование в Qt не самый лучший способ сделать этот пример) Скорее всего самый НЕподходящий. Попробуйте сделать тоже самое но другими средствами. #qt#source#tricks

Резултати

Пронајдени 3 слични објави

Пребарај: #exoplayer

当前筛选 #exoplayer清除筛选
Android Broadcast

@android_broadcast · Post #9885 · 11.03.2026 г., 06:38

🤖Как уменьшить задержку воспроизведения видео? Решение есть в AndroidX Media3 Одна из задач при скролле контента в ленте - убрать задержку показа/воспроизведения контента, чтобы у пользователя не было ожидания или оно было минимальным (при условии стабильного интернет соединения). Для более быстрого старта воспроизведения видео стоит использовать Preload API в ExoPlayer из Jetpack Media 3. В посте приложил демонстрацию как это реально уменьшает задержку старта воспроизведения. 🔗 Опытом адаптации PreloadManager в приложение поделились в статье 🔗 Руководство по интеграции PreloadManager в документации * Instagram признан экстремистcкой организацией на территории Российской Федерации #Android#AndroidDev#ExoPlayer

Android Broadcast

@android_broadcast · Post #8966 · 15.04.2025 г., 12:14

🤖Демонстрация (EN,5м) работы предзагрузки видео в Media3 Expoplayer 1.4.0. Показывается пример кода как это реализовать, а также впечатления от использования. 🔗Альтернативная ссылка #android#медиа#exoplayer

Android Broadcast

@android_broadcast · Post #9408 · 13.08.2025 г., 06:38

🚀Media3 1.8.0 — апдейт, который стоит внедрить прямо сейчас Google продолжает прокачивать медиа API, и в этом релизе есть фичи, которые экономят время разработки и улучшают UX. 📺ExoPlayer 👉 Плавная перемотка: новый ScrubbingMode делает скролл прогресс-бара без отрыва пальца супер-отзывчивым. Пользователь почувствует разницу. 👉Встроенная видео-реклама: нативная поддержка Ads Interstitials в стриминге — меньше костылей. 👉 Длительность видео без проигрывания: val duration = MetadataRetriever .Builder(context, mediaItem) .build() .use { it.retrieveDurationUs().await() } 👉PreCacheHelper — загрузка контента по частям для более быстрых стартов. 🎵 MediaSession 👉 Плеер в шторке не исчезает сразу после паузы — пользователю проще вернуться к просмотру. ✂️Transformer API 👉 Экспериментальная обрезка видео через MP4 edit list. 👉 Опция CodecDbLite — ускоряет кодирование, подбирая оптимальные настройки под чипсет: Transformer.Builder() .setEncoderFactory( DefaultEncoderFactory.Builder() .setEnableCodecDbLite(true) .build() ) .build() 💡Почему обновляться сейчас 👉 Меньше кастомного кода — больше нативных возможностей. 👉 Повышение отзывчивости плеера = выше удержание пользователей. 👉 Новые API для подготовки к интеграции рекламы и улучшенного UX. Подробнее в анонсе или в changelog #android#AndroidDev#Jetpack#Media3#ExoPlayer