Flutter Pulse
784 subscribers
479 photos
1.18K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Воспроизведение видео на весь экран
Покажите полноэкранное видео с правильным соотношением сторон 🤩

Чтобы показать видео на весь экран с сохранением правильного соотношения сторон, следуйте этим простым шагам:

1. Установите пакет video_player 📦
2. Встройте видеоплеер внутрь виджета VideoContainer 📺

Обеспечьте, чтобы содержимое занимало весь экран 📱

return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
),
extendBodyBehindAppBar: true,
body: Stack(
children: [
Positioned.fill(
child: GestureDetector(
onTap: () => videoListener?.pauseOrResume(),
child: VideoContainer.fromController(_controller!),
),
),
],
),
);


Код виджета VideoContainer:

import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

class VideoContainer extends StatelessWidget {
final Widget child;
final double ratio;
final Size contentsSize;

const VideoContainer({
super.key,
required this.child,
required this.ratio,
required this.contentsSize,
});

factory VideoContainer.fromController(VideoPlayerController controller) =>
VideoContainer(
ratio: controller.value.aspectRatio,
contentsSize: controller.value.size,
child: VideoPlayer(controller),
);

@override
Widget build(BuildContext context) {
return FittedBox(
fit: BoxFit.cover,
child: AspectRatio(
aspectRatio: ratio,
child: child,
),
);
}
}


Оцените новую рубрику FlutterPulseTips 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #appdev #codingtips #uiux #videostreaming #fullscreenvideo
👍1
Воспроизведение RTSP-потоков во Flutter: проблемы и решения

Вы когда-нибудь сталкивались с проблемой воспроизведения RTSP-потоков во Flutter? 🤔 Это может быть настоящей головной болью, поскольку штатные средства фреймворка не могут справиться с этой задачей. 😩 Но не волнуйтесь, есть решения! 🎉 Для этого необходимо использовать сторонние библиотеки, такие как flutter_vlc_player, fijkplayer и media_kit. Эти библиотеки позволяют работать с потоковым видео в реальном времени и дают возможность тонко настраивать параметры воспроизведения. 📹

Каждая из этих библиотек имеет свои особенности и достоинства. flutter_vlc_player основан на VLC и обеспечивает широкую поддержку сетевых форматов, но может иметь более высокую задержку и увеличивать вес приложения. 📊 fijkplayer использует FFmpeg и позволяет гибко настраивать параметры буферизации и декодирования, что особенно полезно при работе с низкой задержкой. 📈 media_kit - более современная кроссплатформенная библиотека, построенная на базе FFmpeg, с удобным API и хорошей поддержкой различных протоколов, включая RTSP. 📱

Для минимизации задержки воспроизведения можно использовать различные настройки, такие как настройки буферизации и декодирования, а также выбор транспортного протокола. 📊 Правильный выбор библиотеки и настройка параметров могут обеспечить быстрый старт потока, минимальную задержку и стабильную работу в практических сценариях. 📈 Статья описывает настройки плеера для оптимизации воспроизведения видео по протоколу RTSP. Для снижения задержки используется протокол UDP, который позволяет передавать данные без ожидания подтверждений, но может привести к небольшим потерям пакетов. 📊

Читать здесь: ссылка

#flutter #dart #flutterpulse #flutterpulsehabr #rtsp #videostreaming #flutterdevelopmentp