TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #184 1.94K
Заметки мобильного разработчика

Hola, Amigos! Меня зовут Вова Зевеке, я Flutter-разработчик в Amiga. Недавно мы тут с ребятами вскользь упомянули e-com проект, в котором «победили видеоплеер». Я решил немного подробнее поделиться с вами этой историей ⚙️

Перед нами стояла задача — интегрировать видеоплеер в приложение, чтобы смотреть видео с YouTube. Мы подключили пакет youtube_player_flutter, и кажется, задача решена.

Но не всё так просто, появилась проблема — буферизация видео занимала очень много времени.

Мы переключили у контроллера видеоплеера флаг «autoPlay» в состояние «true». Видео перестало буферизоваться, и время ожидания загрузки видео сильно уменьшилось. Однако возникла новая проблема: с включенным флагом «autoPlay» видео нельзя ни промотать, ни поставить на паузу, можно только переключать полноэкранный режим.

Казалось, это тупик, ограничения пакета не позволяли решить задачу. Начали копаться в пакете и обнаружили, что у контроллера при включенном «autoPlay» остаётся возможность воздействовать на поле controller.value. Сделав отдельный метод, который ставил контроллеру настройки playerState: PlayerState.paused, isPlaying: false, нам удалось добиться возможности ставить видео на паузу даже с включенным «autoPlay». Но редактировать плеерную кнопку «играть/пауза» мы всё ещё не могли, поэтому сделали свою.

Позже мы столкнулись с проблемой проматывания видео. Воспользовались тем, что у контроллера можно задавать флаг «startAt». Он определяет, с какого момента видео начинает проигрываться. На основе этого сделали метод, который пересоздает плеер с новой точкой старта видео при попытке проматывания видео.

В итоге постепенно мы заменили весь интерфейс видеоплеера своим, спрятав старый. Получился всё тот же плеер, что и дефолтный YoutubePlayer, но с куда меньшей задержкой загрузки видео. Вынесли все изменения в форк репозитория пакета.

Пишите в чате, интересны ли вам такие истории из практики? Стоит ли продолжать? Если у вас есть релевантный опыт, будем рады обсудить ⬆️
  • 🔥 27
  • 👍 13
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →