// ignore_for_file: library_private_types_in_public_api import 'package:flutter/material.dart'; import 'package:better_player/better_player.dart'; class FikoYTVideoPlayer extends StatefulWidget { final String videoFilePath; const FikoYTVideoPlayer({super.key, required this.videoFilePath}); @override _FikoYTVideoPlayerState createState() => _FikoYTVideoPlayerState(); } class _FikoYTVideoPlayerState extends State { late BetterPlayerController _betterPlayerController; @override void initState() { super.initState(); _initializeBetterPlayer(); } void _initializeBetterPlayer() { BetterPlayerDataSource dataSource = BetterPlayerDataSource( BetterPlayerDataSourceType.file, widget.videoFilePath, ); _betterPlayerController = BetterPlayerController( BetterPlayerConfiguration( controlsConfiguration: BetterPlayerControlsConfiguration( enableSkips: true, enableFullscreen: true, ), ), betterPlayerDataSource: dataSource, ); } @override void dispose() { _betterPlayerController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return AspectRatio( aspectRatio: 16 / 9, child: BetterPlayer(controller: _betterPlayerController), ); } }