проблема с флаттером фонового видео в полноэкранном режиме

#flutter #flutter-dependencies

#флаттер #флаттер-зависимости

Вопрос:

Я использую этот код, чтобы добавить фоновое полноэкранное видео в свое приложение, оно хорошо работает на виртуальном устройстве, но не очень хорошо на физических устройствах!

             new Flex(direction: Axis.vertical, children: <Widget>[
          FittedBox(
            fit: BoxFit.fill,
            child: SizedBox(
                width: controller.value.size?.width ?? 0,
                height: controller.value.size?.height ?? 0,
                child: VideoPlayer(controller)),
          ),
        ]),
  

Комментарии:

1. не могли бы вы отредактировать свой ответ и включить изображение, поскольку, похоже, оно было вставлено в часть кода?

Ответ №1:

У меня это работает

  SizedBox.expand(
            child: FittedBox(
                fit: BoxFit.cover,
                child: SizedBox(
                  width: videoController.value.size?.width ?? 0,
                  height: videoController.value.size?.height ?? 0,
                  child: VisibilityDetector(
                      key: ObjectKey(videoController),
                      onVisibilityChanged: (visibility) {
                        if (visibility.visibleFraction == 0 amp;amp; this.mounted) {
                          videoController.pause();
                        } else if (visibility.visibleFraction == 1) {
                          videoController.play();
                        }
                      },
                      child: VideoPlayer(videoController)),
                )),
          ),
  

Комментарии:

1. Я не смог найти виджет ‘VisibilityDetector’, а SDK его не обнаруживает! Кроме того, я не вижу этого в библиотеке виджетов flutter.

2. Извините, вы можете найти VisibilityDetector здесь pub.dev/packages/visibility_detector , если вы хотите использовать else simple, пропустите это.