4.2. 初始化视频
4.2.1. 初始化
首先我们需要在initState
生命周期中对视频进行初始化,对视频是否加载成功显示不同的UI界面:加载中、加载成功、加载失败。
void _urlChange() async {
if (widget.url == null || widget.url == ‘’) return;
if (_controller != null) {
/// 如果控制器存在,清理掉重新创建
_controller.removeListener(_videoListener);
_controller.dispose();
}
setState(() {
/// 重置组件参数
_videoInit = false;
_videoError = false;
});
if (widget.type == VideoPlayerType.file) {
_controller = VideoPlayerController.file(widget.url);
} else if (widget.type == VideoPlayerType.asset) {
_controller = VideoPlayerController.asset(widget.url);
} else {
_controller = VideoPlayerController.network(widget.url);
}
/// 加载资源完成时,监听播放进度,并且标记_videoInit=true加