У меня есть файл .Mov, который я хочу использовать в AnimatedCrossFade, но я не могу заставить видео работать с замиранием. Я получаю черный экран, и перекрестное затухание никогда не происходит. Вот мой код:
VideoPlayerController _buddiesAnimatedController;
Future<void> _initializeVideoPlayerFuture;
bool firstStateEnabled = true;
AnimatedCrossFade(
firstChild: _showBuddiesLogo(),
secondChild: _signIn(),
duration: Duration(seconds: 3),
crossFadeState: firstStateEnabled
? CrossFadeState.showFirst
: CrossFadeState.showSecond,
firstCurve: Curves.easeOut,
secondCurve: Curves.easeIn,
sizeCurve: Curves.bounceIn,
),
Состояние инициализации
@override
void initState() {
_buddiesAnimatedController = VideoPlayerController.asset('assets/BuddiesLogo.mov');
_initializeVideoPlayerFuture = _buddiesAnimatedController.initialize();
_buddiesAnimatedController.setLooping(false);
super.initState();
}
FirstChild
Widget _showBuddiesLogo() {
return FutureBuilder(
future: _initializeVideoPlayerFuture,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return AspectRatio(
aspectRatio: _buddiesAnimatedController.value.aspectRatio,
child: VideoPlayer(_buddiesAnimatedController),
);
} else{
return CircularProgressIndicator();
}
},
);
}
Второй ребенок
Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
splashColor: Colors.greenAccent,
elevation: 8.0,
color: buddiesGreen,
child: Container(
width: 100,
child: Center(
child: Text(
'Sign In',
style: TextStyle(
color: Colors.white, fontFamily: 'Roboto'),
),
),
), //`Text` to display
shape: StadiumBorder(),
onPressed: () {
Navigator.of(context).pushReplacement(
MaterialPageRoute(
builder: (BuildContext context) =>
SignIn()));
},
),
SizedBox(
width: 15,
),
RaisedButton(
highlightColor: Colors.greenAccent,
splashColor: Colors.greenAccent,
elevation: 10.0,
color: Colors.white,
child: Container(
width: 100,
child: Center(
child: Text(
'Sign Up',
style: TextStyle(fontFamily: 'Roboto'),
),
),
), //`Text` to display
shape: StadiumBorder(),
onPressed: () {
Navigator.of(context).pushReplacement(
MaterialPageRoute(
builder: (BuildContext context) =>
Walkthrough()));
}),
],
),
После просмотра круговой индикатор прогресса, экран становится черным. Я объявил видео в своем файле yaml и импортировал импортный пакет: video_player / video_player.dart; на страницу. Проверено правильное наименование. Я хочу, чтобы анимация воспроизводилась, а затем появился второй экран с кнопками входа в систему. Любая помощь будет оценена