TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #267 2.84K
Hola, Amigos! На связи Вова Зевеке, сегодня расскажу про пакет pod_player.

Ранее в своей статье я пробовал собрать кастомный видеоплеер с помощью пакета youtube_player_flutter. По итогу упёрся в баги, которые нельзя было решить возможностями Flutter. И нашёл замену!

Сам по себе pod_player не сильно отличается от большинства других пакетов для разработки видеоплеера. Однако, он куда меньше тормозит и быстрее грузит видео.

Сначала настроим необходимые разрешения. Для Android, нужно добавить в AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>


Если видео использует URL-адреса http, то добавляем:

<application
- - -
- - - - - -
android:usesCleartextTraffic="true"


Для iOS проводим настройку в файле Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>


Пакет добавляет виджет PodVideoPlayer со свойствами:

- controller (PodPlayerController, контроллер для управления видеплеером);
- podProgressBarConfig (PodProgressBarConfig, настройка вёрстки полоски прогресса);
- videoThumbnail (DecorationImage?, превью видео);
- alwaysShowProgressBar (bool, определяет, будет ли всегда отображаться полоска прогресса);
- onToggleFullScreen (Future<void> Function(bool)?, коллбек при переходе плеера в полноэкранный режим);
- onLoading (Widget Function(BuildContext)?, определяет отображаемый виджет при загрузке видео);
- onVideoError (Widget Function()?, определяет отображаемый виджет при ошибке в видео);
- overlayBuilder (Widget Function(OverLayOptions)?, позволяет сделать кастомный интерфейс видеоплеера).

Чтобы плеер проигрывал определённое видео, нужно приложить ссылку на него в виде файла, веб-ссылки, youtube-id, ассет в приложении.

Код с примером пользования youtube-id:

@override
void initState() {
controller = PodPlayerController(
playVideoFrom: PlayVideoFrom.youtube(
widget.videoId,
),
)..initialise();
…
}
…
body: PodVideoPlayer(controller: controller),
…


Всем хорошего кода! Делитесь в чате своим опытом.
  • 👍 8
  • 🔥 7
  • 👏 4
  • 🤩 2
  • 💘 1
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 →