Android 使用视频全屏模式时,颤振处理不工作(横向)
我使用Chuie软件包在Flatter中播放视频,当我播放视频并退出页面时,dispose工作正常,但当我使用全屏并尝试退出页面时,音频/视频仍将播放。它说:dispose是在null上调用的 这是我的密码: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
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
}
}