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();
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)