Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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
Android 使用视频全屏模式时,颤振处理不工作(横向)_Android_Ios_Flutter_Dart_Video Player - Fatal编程技术网

Android 使用视频全屏模式时,颤振处理不工作(横向)

Android 使用视频全屏模式时,颤振处理不工作(横向),android,ios,flutter,dart,video-player,Android,Ios,Flutter,Dart,Video Player,我使用Chuie软件包在Flatter中播放视频,当我播放视频并退出页面时,dispose工作正常,但当我使用全屏并尝试退出页面时,音频/视频仍将播放。它说:dispose是在null上调用的 这是我的密码: class _ChewieListItemState extends State<ChewieListItem> { ChewieController _chewieController; @override Widget bu

我使用Chuie软件包在Flatter中播放视频,当我播放视频并退出页面时,dispose工作正常,但当我使用全屏并尝试退出页面时,音频/视频仍将播放。它说:dispose是在null上调用的

这是我的密码:

    class _ChewieListItemState extends State<ChewieListItem> {
      ChewieController _chewieController;


       @override
      Widget build(BuildContext context) {
        return Padding(
          padding: const EdgeInsets.all(8.0),
          child: Chewie(
            controller:_chewieController ,
          ),
        );
      }


      @override
      void initState() {
        super.initState();
        // Wrapper on top of the videoPlayerController
        _chewieController = ChewieController(
          videoPlayerController: widget.videoPlayerController,
          aspectRatio: 16 / 9,
          // Prepare the video to be played and display the first frame
          autoInitialize: true,
          looping: widget.looping,
          autoPlay: false,
          allowFullScreen: true,
          allowedScreenSleep: false,
          // Errors can occur for example when trying to play a video
          // from a non-existent URL
          errorBuilder: (context, errorMessage) {
            return Center(
              child: Text(
                'Network Error, please try again',
                style: TextStyle(color: Colors.white),
              ),
            );
          },
        );
      }


    @override
  void dispose() {
    super.dispose();
    widget.videoPlayerController.dispose();
    _chewieController.dispose();
  }

    }
class\u chuvieListItemState扩展状态{
咀嚼控制器;
@凌驾
小部件构建(构建上下文){
返回填充(
填充:常数边集全部(8.0),
孩子:朱伊(
控制器:_cheuicontroller,
),
);
}
@凌驾
void initState(){
super.initState();
//videoPlayerController顶部的包装
_咀嚼控制器=咀嚼控制器(
videoPlayerController:widget.videoPlayerController,
专题:16/9,
//准备要播放的视频并显示第一帧
自动初始化:true,
循环:widget.looping,
自动播放:错误,
allowFullScreen:是的,
允许睡眠:错误,
//例如,尝试播放视频时可能会发生错误
//从一个不存在的URL
errorBuilder:(上下文,errorMessage){
返回中心(
子:文本(
'网络错误,请重试',
样式:TextStyle(颜色:Colors.white),
),
);
},
);
}
@凌驾
无效处置(){
super.dispose();
widget.videoPlayerController.dispose();
_chouicontroller.dispose();
}
}
在initState函数中初始化videoPlayerController。

class\u chuvieListItemState扩展状态{
咀嚼控制器;
视频播放控制器;
@凌驾
void initState(){
super.initState();
videoPlayerController=videoPlayerController.asset(路径);//此处初始化控制器
//videoPlayerController顶部的包装
_咀嚼控制器=咀嚼控制器(
videoPlayerController:videoPlayerController,//删除小部件标记
);
}
@凌驾
无效处置(){
super.dispose();
videoPlayerController.dispose();//在此处也删除小部件标记
}
}

刚刚遇到了同样的问题,搜索了3天就找到了解决方案。

我也在寻找在颤振中使用vimeo的解决方案,因为您还没有找到什么东西@karl 123在我的应用程序中遇到同样的问题,你找到解决方案了吗
class _ChewieListItemState extends State<ChewieListItem> {
  ChewieController _chewieController;
  VideoPlayerController videoPlayerController;




@override
void initState() {
     super.initState();
     videoPlayerController = VideoPlayerController.asset(path); // init controller here
    // Wrapper on top of the videoPlayerController
    _chewieController = ChewieController(
      videoPlayerController: videoPlayerController, // remove the widget tag
    );
  }


@override
void dispose() {
    super.dispose();
    videoPlayerController.dispose(); // remove the widget tag here as well    
}

}