问题描述
我正在使用带有定制控制栏的chewie播放器,当播放器切换到全屏模式时,我看不到控件。即使播放器进入全屏模式,我也需要显示控件。我不使用chewie提供的控件,因为我不希望进度搜索栏是可触摸的,即我不希望用户倒带视频...。
下面是代码:-
@override
void initState() {
super.initState();
_videoPlayerController1 = VideoPlayerController.network(widget.videoURL);
_chewieController = ChewieController(
videoPlayerController: _videoPlayerController1,// aspectRatio: 3 / 2,autoPlay: false,looping: false,autoInitialize: true,showControls: true,fullScreenByDefault: false,//seekTo:value,startAt: Duration(milliseconds: widget.time),//customControls: customControl(),placeholder: Container(
color: Colors.black87,child: Container(
child: Center(
child: CircularProgressIndicator(
valueColor:
new AlwaysStoppedAnimation<Color>(Colors.deepPurpleAccent),)),),// overlay:
// autoInitialize: true,);
setState(() {
_loading = true;
});
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: _onWillPop,child: SafeArea(
child: MaterialApp(
home: Scaffold(
backgroundColor: Colors.black,body: Column(
children: <Widget>[
Expanded(
child: Center(
child: GestureDetector(
onDoubleTap: () {
_chewieController.enterFullScreen();
},onTap: () {
if (_videoPlayerController1.value.isPlaying) {
setState(() {
_chewieController.pause();
isPlaying = false;
});
} else {
setState(() {
_chewieController.play();
isPlaying = true;
});
}
},child: Chewie(
controller: _chewieController,Row(
children: [
FlatButton(
onPressed: () {
if (_videoPlayerController1.value.isPlaying) {
setState(() {
_chewieController.pause();
isPlaying = false;
});
} else {
setState(() {
_chewieController.play();
isPlaying = true;
});
}
},child: Icon(
!_videoPlayerController1.value.isPlaying
? Icons.play_arrow
: Icons.pause,color: Colors.white,size: 30,ValueListenableBuilder(
valueListenable: _videoPlayerController1,builder: (context,VideoPlayerValue value,child) {
//Do Something with the value.
if (value.initialized && value.isPlaying) {
return new LinearPercentIndicator(
width: MediaQuery.of(context).size.width - 180,lineHeight: 8.0,percent: (value.position.inSeconds.toDouble() /
value.duration.inSeconds.toDouble()),linearStrokeCap: LinearStrokeCap.roundAll,backgroundColor: Colors.grey,progressColor: Colors.amber,);
} else {
return new LinearPercentIndicator(
width: MediaQuery.of(context).size.width - 180,percent: 0.0,);
}
},//child:
),FlatButton(
onPressed: () {
_chewieController.enterFullScreen();
setState(() {
isFullscreen = true;
});
},child: Icon(
Icons.fullscreen,//
],],);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)