【问题标题】:Chewie video keeps playing when I leave the page on Flutter当我在 Flutter 上离开页面时,Chewie 视频一直在播放
【发布时间】:2020-08-21 23:51:48
【问题描述】:

我在 Flutter 中有一个使用 Chewie 显示视频的应用。 当我离开正在播放视频的屏幕时,视频继续播放。 Chewie 管理的 Widget 是

    class _crearVideo extends StatefulWidget {

 final video;

  const _crearVideo({this.video});

  @override
  __crearVideoState createState() => __crearVideoState();
}

class __crearVideoState extends State<_crearVideo> {

  VideoPlayerController _videoPlayerController1;
  ChewieController _chewieController;

  @override
  void dispose() {
    _chewieController.pause();
    _chewieController.dispose();
    _videoPlayerController1.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {

    _videoPlayerController1 = VideoPlayerController.network( GlobalConfiguration().getString("rest_server") + "/v1/videoStream/${widget.video.video}");
    _chewieController = ChewieController(
      videoPlayerController: _videoPlayerController1,
      aspectRatio: 16 / 9,
      autoPlay: false,
      looping: false,
      // Try playing around with some of these other options:

      // showControls: false,
      materialProgressColors: ChewieProgressColors(
      //   playedColor: Colors.red,
      //   handleColor: Colors.blue,
      //   backgroundColor: Colors.grey,
         bufferedColor: Colors.orangeAccent,
      // ),
      // placeholder: Container(
      //   color: Colors.grey,
       ),
       autoInitialize: true,
    );

    return Container(
       child: Chewie(
                  controller: _chewieController,
                ));
  }
}

我有一个 dispose() 方法可以执行但不起作用。

有什么想法吗?

感谢和抱歉我的英语。

【问题讨论】:

    标签: flutter video dart


    【解决方案1】:

    在后退按钮中你需要输入:Navigator.popAndPushNamed (context, 'Here you can name your route');

    例如:

    IconButton(
                      onPressed: (){
                        Navigator.popAndPushNamed(context, '/ConsultantConsulting');
                         },
                      icon: Icon(Icons.arrow_back, color: Colors.white, size: 30,),
                    )
    

    创建命名路由。引号之间的内容将是您用来调用路线的内容。 (main.dart):

    initialRoute: '/',
    routes: {
      '/': (context) => HomePage(),
      '/login': (context) => LoginPage()
    

    【讨论】:

      猜你喜欢
      • 2020-06-04
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      相关资源
      最近更新 更多