Флаттер: проигрыватель YouTube меняет ориентацию экрана, как мы можем открыть видео в приложении YouTube? Отредактировано # 2

#flutter #dart #youtube #orientation

#флаттер #дротик #YouTube #ориентация

Вопрос:

У меня есть приложение, которое показывает видео YouTube, когда я нажимаю на правый нижний квадрат в полноэкранном режиме, оно становится полноэкранным с поворотом ориентации экрана, затем, когда я нажимаю кнопку «Назад», чтобы выйти из полноэкранного режима, оно остается горизонтальным, и когда я поворачиваю устройство, оно не исправляет ориентацию, которую я использую в этом :

 YoutubePlayerController _controller = YoutubePlayerController(
        initialVideoId: 'xxxxxx?controls=0',
        flags: YoutubePlayerFlags(
          autoPlay: false,
          mute: false,
        ));
  

Показать видео

 YoutubePlayer(
                        controller: _controller,
                        showVideoProgressIndicator: true,
                        progressIndicatorColor: Colors.blueAccent,
                      )),
  

Как мы можем открыть видео в приложении YouTube?

Ответ №1:

Переопределите свой метод dispose следующим образом:

 @override
  void dispose() {
    _controller.dispose();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
    ]);
    super.dispose();
  }
  

Ответ №2:

WillPopScope поможет повернуть экран в портретный режим при нажатии кнопки «Назад».

_controller.toggleFullScreenMode() внутреннее переключение альбомной ориентации на портретную и наоборот, как указано.

 body: WillPopScope(
        onWillPop: () async {
          _controller.toggleFullScreenMode();
          return Future.value(false);
        },
        child: YoutubePlayer(
            controller: _controller,
            ...
            ...
           )