@override
void didUpdateWidget(covariant CircleVideoItem oldWidget) {
//根据视频传值来判断视频是否需要进行更新组件
if (oldWidget.url != widget.url) {
// url变化时重新执行一次url加载
_urlInitChange();
}
super.didUpdateWidget(oldWidget);
}
//视频初始化方法
void _urlInitChange() async {
if (widget.url == null || widget.url == '') return;
if (_videoController != null) {
/// 如果控制器存在,清理掉重新创建
_videoController.removeListener(_videoListener);
_videoController.pause();
_videoController.dispose();
}
_videoController = VideoPlayerController.network(widget.url)
..initialize().then((data) {
setState(() {});
});
}
网友评论