问题描述
我有一个主屏幕小部件,该小部件使用video_player包播放全屏背景视频。 这段代码对我来说很好:
class HomeScreen extends StatefulWidget {
HomeScreen({Key key}) : super(key: key);
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
VideoPlayerController _controller;
void initState() {
super.initState();
// Pointing the video controller to mylocal asset.
_controller = VideoPlayerController.asset("assets/waterfall.mp4");
_controller.initialize().then((_) {
// Once the video has been loaded we play the video and set looping to true.
_controller.play();
_controller.setLooping(true);
// Ensure the first frame is shown after the video is initialized.
setState(() {});
});
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Stack(
children: <Widget>[
SizedBox.expand(
child: FittedBox(
// If your background video doesn't look right,try changing the BoxFit property.
// BoxFit.fill created the look I was going for.
fit: BoxFit.fill,child: SizedBox(
width: _controller.value.size?.width ?? 0,height: _controller.value.size?.height ?? 0,child: VideoPlayer(_controller),),Container(
child: Center(
child: Text('Hello!'),],);
}
}
问题是,如何使用Flutter Hooks实现此功能?我知道我必须使用useEffect()来实现initState()和dispose(),useFuture()以及useMemoized()来处理异步_controller.initialize()调用,还有什么可能呢?但是,我无法粘合它们以获得所需的结果。谁能告诉我上面代码的“使用挂钩”实现?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)