Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在flatter中释放视频播放器_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 如何在flatter中释放视频播放器

Flutter 如何在flatter中释放视频播放器,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我想知道如何发布视频播放器在颤振我是新的颤振帮助我 每当用户滚动到新页面时,我想停止PageView中上次播放的视频,然后停止上一页视频或释放上一页控制器 下面是我的代码 class _VideoPlayerItemState extends State<VideoPlayerItem> with AutomaticKeepAliveClientMixin,TickerProviderStateMixin{ VideoPlayerController _videoControll

我想知道如何发布视频播放器在颤振我是新的颤振帮助我

每当用户滚动到新页面时,我想停止PageView中上次播放的视频,然后停止上一页视频或释放上一页控制器

下面是我的代码

class _VideoPlayerItemState extends State<VideoPlayerItem> with AutomaticKeepAliveClientMixin,TickerProviderStateMixin{


VideoPlayerController _videoController;

@override
Widget build(BuildContext context) {
  return Stack(
  children: <Widget>[
    Container(
      decoration: BoxDecoration(color: Colors.black),
      child: Stack(
        children: <Widget>[
          Container(
            decoration: BoxDecoration(color: Colors.black),
            child: Stack(
              children: <Widget>[
                Center(
                  child: _videoController != null ? _videoController.value.initialized
                      ? AspectRatio(
                    aspectRatio: _videoController.value.aspectRatio,
                    child: VideoPlayer(_videoController),
                  )
                      : Container() : Center(child: Text("LOADING VIDEO ON NULL"),),
                ),
              ],
            ),
          ),
        ],
      ),
    ),
      ],
  );
}
面对错误:每当我滚动页面时,上一个视频不会停止,直到新视频初始化。每当我滚动到新页面时,我想立即停止,谢谢

setState(() {
  _videoController.pause();
  _videoController.dispose();
  _videoController  = VideoPlayerController.network(widget.videoUrl)
    ..initialize().then((value) {
      _videoController.play();
    });
  _videoController.setLooping(true);
});

当此方法在PageChangedFortUrial上调用时,是否要停止视频?我要在PageChangedFortUrial方法上停止以前播放的视频
setState(() {
  _videoController.pause();
  _videoController.dispose();
  _videoController  = VideoPlayerController.network(widget.videoUrl)
    ..initialize().then((value) {
      _videoController.play();
    });
  _videoController.setLooping(true);
});