diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index fc6e5ab54..be044813b 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -377,8 +377,11 @@ class BangumiIntroController extends CommonController { final videoDetailCtr = Get.find(tag: Get.arguments['heroTag']) + ..plPlayerController.pause() ..makeHeartBeat() ..playedTime = null + ..videoUrl = null + ..audioUrl = null ..vttSubtitlesIndex = null ..savedDanmaku = null ..epId = epId diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 02e249cc1..6f35d2a91 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -1162,7 +1162,8 @@ class VideoDetailController extends GetxController } if (data.dash == null) { SmartDialog.showToast('视频资源不存在'); - isShowCover.value = false; + autoPlay.value = false; + isShowCover.value = true; videoState.value = LoadingState.success(null); isQuerying = false; return; @@ -1265,8 +1266,9 @@ class VideoDetailController extends GetxController await playerInit(); } } else { + autoPlay.value = false; + isShowCover.value = true; if (result['code'] == -404) { - isShowCover.value = false; SmartDialog.showToast('视频不存在或已被删除'); } if (result['code'] == 87008) { diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 7fad037db..3e80a1602 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -558,8 +558,11 @@ class VideoIntroController extends GetxController Future changeSeasonOrbangu(epid, bvid, cid, aid, cover) async { // 重新获取视频资源 final videoDetailCtr = Get.find(tag: heroTag) + ..plPlayerController.pause() ..makeHeartBeat() ..playedTime = null + ..videoUrl = null + ..audioUrl = null ..updateMediaListHistory(aid) ..vttSubtitlesIndex = null ..savedDanmaku = null diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 2fbdfc0a4..2dde4cdc1 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -199,9 +199,7 @@ class _VideoDetailPageState extends State if (videoDetailController.autoPlay.value) { plPlayerController = videoDetailController.plPlayerController; plPlayerController!.addStatusLister(playerListener); - if (videoDetailController.enableHeart) { - plPlayerController!.addPositionListener(positionListener); - } + plPlayerController!.addPositionListener(positionListener); await plPlayerController!.autoEnterFullscreen(); } } @@ -296,9 +294,7 @@ class _VideoDetailPageState extends State videoDetailController.isShowCover.value = false; await videoDetailController.playerInit(autoplay: true); plPlayerController!.addStatusLister(playerListener); - if (videoDetailController.enableHeart) { - plPlayerController!.addPositionListener(positionListener); - } + plPlayerController!.addPositionListener(positionListener); await plPlayerController!.autoEnterFullscreen(); videoDetailController.autoPlay.value = true; } @@ -353,9 +349,7 @@ class _VideoDetailPageState extends State if (plPlayerController != null) { videoDetailController.makeHeartBeat(); plPlayerController!.removeStatusLister(playerListener); - if (videoDetailController.enableHeart) { - plPlayerController!.removePositionListener(positionListener); - } + plPlayerController!.removePositionListener(positionListener); plPlayerController!.dispose(); } else { PlPlayerController.updatePlayCount(); @@ -395,9 +389,7 @@ class _VideoDetailPageState extends State plPlayerController!.vttSubtitlesIndex.value; videoDetailController.showVP = plPlayerController!.showVP.value; plPlayerController!.removeStatusLister(playerListener); - if (videoDetailController.enableHeart) { - plPlayerController!.removePositionListener(positionListener); - } + plPlayerController!.removePositionListener(positionListener); plPlayerController!.pause(); } isShowing = false; @@ -465,9 +457,7 @@ class _VideoDetailPageState extends State AutoOrientation.fullAutoMode(); }); plPlayerController?.addStatusLister(playerListener); - if (videoDetailController.enableHeart) { - plPlayerController?.addPositionListener(positionListener); - } + plPlayerController?.addPositionListener(positionListener); } @override