首页 > 解决方案 > 如何使用颤振使用 video_player 动态更改视频?

问题描述

我想制作一个功能,用户可以通过选择它来更改视频(背景)。目前,我有:

主页:

Stack() in body 调用 BackgroundVideoPlayer(bgPath): bgPath 是视频背景的路径,也是 en ElevatedButton 选择在背景中循环:

class _BackgroundVideoPlayerState extends State<BackgroundVideoPlayer> {
  late VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.asset(widget.bgPath)
      ..setLooping(true)
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });

    _controller.play();
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return SizedBox.expand(
      child: FittedBox(
        fit: BoxFit.cover,
        child: SizedBox(
          width: _controller.value.size?.width ?? 0,
          height: _controller.value.size?.height ?? 0,
          child: _controller.value.isInitialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
      ),
    );

如何做到这一点,以便在按下按钮时背景发生变化?

标签: androidflutterdartmobilewidget

解决方案


推荐阅读