diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 30e03130..761fb82d 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -1026,7 +1026,7 @@ class VideoDetailController extends GetxController bool isQuerying = false; // 视频链接 - Future queryVideoUrl() async { + Future queryVideoUrl([Duration? defaultST]) async { if (isQuerying) { return; } @@ -1069,7 +1069,7 @@ class VideoDetailController extends GetxController if (data.dash == null && data.durl != null) { videoUrl = data.durl!.first.url!; audioUrl = ''; - defaultST = Duration.zero; + this.defaultST = defaultST ?? Duration.zero; // 实际为FLV/MP4格式,但已被淘汰,这里仅做兜底处理 firstVideo = VideoItem( id: data.quality!, @@ -1187,7 +1187,7 @@ class VideoDetailController extends GetxController audioUrl = ''; } // - defaultST = Duration(milliseconds: data.lastPlayTime!); + this.defaultST = defaultST ?? Duration(milliseconds: data.lastPlayTime!); if (autoPlay.value) { isShowCover.value = false; await playerInit(); diff --git a/lib/pages/video/detail/widgets/header_control.dart b/lib/pages/video/detail/widgets/header_control.dart index 3d14e010..ba8eb741 100644 --- a/lib/pages/video/detail/widgets/header_control.dart +++ b/lib/pages/video/detail/widgets/header_control.dart @@ -184,8 +184,12 @@ class _HeaderControlState extends State { ), ListTile( dense: true, - onTap: () => - {Get.back(), widget.videoDetailCtr.queryVideoUrl()}, + onTap: () => { + Get.back(), + widget.videoDetailCtr.queryVideoUrl( + widget.videoDetailCtr.playedTime, + ) + }, leading: const Icon(Icons.refresh_outlined, size: 20), title: const Text('重载视频', style: titleStyle), ), @@ -288,7 +292,9 @@ class _HeaderControlState extends State { SmartDialog.showToast( '已设置为 ${CDNServiceCode.fromCode(result)!.description},正在重载视频'); setState(() {}); - widget.videoDetailCtr.queryVideoUrl(); + widget.videoDetailCtr.queryVideoUrl( + widget.videoDetailCtr.playedTime, + ); } }, ),