Как добиться эффекта бумеранга VideoPlayer во Flutter?
Я использую пакет VideoPlayer для отображения.mp4 в моем приложении. Я могу легко его зациклить, просто добавив_controller.setLooping(true);
. Однако я не могу создать эффект бумеранга с помощью этого пакета. Есть идеи, как это реализовать?
Здесь вы можете получить мой пример кода:
class DashboardVideoBackground extends StatefulWidget {
DashboardVideoBackground({Key key}) : super(key: key);
@override
State<StatefulWidget> createState() => _DashboardVideoBackgroundState();
}
class _DashboardVideoBackgroundState extends State<DashboardVideoBackground> {
VideoPlayerController _controller;
Future<void> _initializeVideoPlayerFuture;
@override
void initState() {
_controller =
VideoPlayerController.asset('assets/mock/dashboard_background.mp4');
_initializeVideoPlayerFuture = _controller.initialize();
_controller.setLooping(true);
_controller.play();
super.initState();
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, constraints) {
return FutureBuilder(
future: _initializeVideoPlayerFuture,
builder: (context, snapshot) =>
snapshot.connectionState == ConnectionState.done
? OverflowBox(
maxWidth: double.infinity,
maxHeight: double.infinity,
alignment: Alignment.center,
child: FittedBox(
fit: BoxFit.cover,
alignment: Alignment.center,
child: Container(
width: MediaQuery.of(context).size.width * 1.5,
height: MediaQuery.of(context).size.height,
child: VideoPlayer(_controller),
),
),
)
: Center(child: CircularProgressIndicator()),
);
},
);
}
}