Flutter Chewie行为问题

问题描述

大家好,我需要您的帮助。我有个问题。我只想在横向模式下实现全屏播放器。

并将视频播放器页面保留在返回按钮上或保留为全屏显示。没有fullScreenByDefault:true,一切似乎都很好。我可以按后退按钮并返回上一屏幕。

但是,如果将其设置为true,则会出问题。按下返回按钮或最小化按钮将进入纵向模式1秒钟,然后返回横向,然后进入纵向模式。接下来,最后关闭此页面。 我希望在第一个后退按钮后关闭页面或保持全屏显示。而且我不知道出了什么问题。 预先感谢您的帮助。

  VideoPlayer({this.title,this.url,this.isLive = false});

  final String title;
  final String url;
  final bool isLive;
  @override
  State<StatefulWidget> createState() {
    return _VideoPlayerState();
  }
}

class _VideoPlayerState extends State<VideoPlayer> {
  VideoPlayerController _videoPlayerController1;
  ChewieController _chewieController;

  @override
  void initState() {
    super.initState();

    _videoPlayerController1 = VideoPlayerController.network(
        "https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4");
    _chewieController = ChewieController(
        videoPlayerController: _videoPlayerController1,aspectRatio: _videoPlayerController1.value.aspectRatio,autoPlay: true,looping: true,fullScreenByDefault: true,isLive: widget.isLive,allowedScreenSleep: false,deviceOrientationsAfterFullScreen: [
          DeviceOrientation.landscapeRight,DeviceOrientation.landscapeLeft,DeviceOrientation.portraitUp,DeviceOrientation.portraitDown,]
  }


  @override
  Widget build(BuildContext context) {
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeRight,]);

    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),),body: SafeArea(
        child: Expanded(
          child: Chewie(
            controller: _chewieController,);
  }

  @override
  void dispose() {
    _chewieController.dispose();
    _videoPlayerController1.dispose();

    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeRight,]);

    super.dispose();
  }
}

解决方法

已关闭 解决方案:将屏幕模式限制为仅横向模式,不设置纵横比,不设置fullScreenByDefault:false,然后将chewie放在Expanded ---- Container(高度:size.height,宽度:size.width)内

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...