📹Player de Vídeo com Legendas
Player de Vídeo com legenda
Bibliotecas utilizadas
Implementação do player
Hello World
class HelloWorldScreen extends StatefulWidget {
static const routeName = "hello_world_screen";
const HelloWorldScreen({super.key});
@override
State<HelloWorldScreen> createState() => _HelloWorldScreenState();
}
class _HelloWorldScreenState extends State<HelloWorldScreen> {
late FlickManager flickManager;
@override
void initState() {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeLeft,
DeviceOrientation.landscapeRight,
]);
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
});
flickManager = FlickManager(
videoPlayerController: VideoPlayerController.networkUrl(
Uri.parse(
"https://github.com/GeekyAnts/flick-video-player-demo-videos/blob/master/example/9th_may_compressed.mp4?raw=true",
),
),
);
super.initState();
}
@override
void dispose() {
flickManager.dispose();
SystemChrome.setEnabledSystemUIMode(
SystemUiMode.manual,
overlays: SystemUiOverlay.values,
);
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
]);
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: FlickVideoPlayer(
flickManager: flickManager,
flickVideoWithControls: const FlickVideoWithControls(
closedCaptionTextStyle: TextStyle(fontSize: 8),
controls: FlickPortraitControls(),
),
flickVideoWithControlsFullscreen: const FlickVideoWithControls(
controls: FlickLandscapeControls(),
),
),
);
}
}Player customizado com legenda
Widgets sobrepostos ao vídeo
Legendas
Last updated