问题描述
我使用 chewie (0.12.0)
包是为了使用 video_player 插件内置视频控件。这是我的简单实现:
class MyVideoPlayer extends StatefulWidget {
/// Default true,it decides if video can start automatically when created
final bool automaticStart;
/// Video url
final String url;
/// Enable full screen feature on tap
final bool fullScreenOnTap;
const MyVideoPlayer(
{@required this.url,this.automaticStart = true,this.fullScreenOnTap = true});
@override
_ MyVideoPlayerState createState() => _ MyVideoPlayerState();
}
class MyVideoPlayerState extends State<MyVideoPlayer> {
VideoPlayerController _videoController;
ChewieController _chewieController;
@override
void initState() {
super.initState();
initalizeControllers();
}
void initalizeControllers() async {
_videoController = VideoPlayerController.network(widget.url);
await _videoController.initialize();
setState(() {});
_chewieController = ChewieController(
videoPlayerController: _videoController,autoPlay: true,looping: true,showControlsOnInitialize: false,showControls: false,)
..setVolume(0);
}
@override
Widget build(BuildContext context) {
return _videoController.value.initialized
? GestureDetector(
onTap: () {
if (!widget.fullScreenOnTap) return;
_chewieController.enterFullScreen();
//TODO: enable video controls after full screen
},child: Chewie(
controller: _chewieController,),)
: MyLoader();
}
@override
void dispose() {
super.dispose();
_videoController?.dispose();
_chewieController?.dispose();
}
}
通常我会向用户展示一些类似于嵌入在轮播滑块上的预览(不需要视频控件),然后当点击视频时,GestureDetector 提供使用控制器将其移动到全屏(需要视频控件)。>
如何实现仅在用户使用全屏模式时显示视频控件的可能性?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)