diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index c250778d0..edaafd5c1 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -46,7 +46,7 @@ class _VideoDetailPageState extends State late BangumiIntroController bangumiIntroController; late String heroTag; - PlayerStatus playerStatus = PlayerStatus.playing; + Rx playerStatus = PlayerStatus.none.obs; double doubleOffset = 0; final Box localCache = GStorage.localCache; @@ -157,7 +157,7 @@ class _VideoDetailPageState extends State // 播放器状态监听 void playerListener(PlayerStatus? status) async { - playerStatus = status!; + playerStatus.value = status!; if (status == PlayerStatus.completed) { shutdownTimerService.handleWaitingFinished(); bool notExitFlag = false; @@ -387,12 +387,13 @@ class _VideoDetailPageState extends State Widget plPlayer = FutureBuilder( future: _futureBuilderFuture, builder: (BuildContext context, AsyncSnapshot snapshot) { - if (snapshot.hasData && snapshot.data['status']) { + if (snapshot.connectionState == ConnectionState.done) { return Obx( () => !videoDetailController.autoPlay.value || plPlayerController == null || - plPlayerController!.videoController == null - ? nil + plPlayerController!.videoController == null || + playerStatus.value == PlayerStatus.none + ? Text(playerStatus.value.toString()) : PLVideoPlayer( controller: plPlayerController!, videoIntroController: diff --git a/lib/plugin/pl_player/models/play_status.dart b/lib/plugin/pl_player/models/play_status.dart index 2af09a61d..47c5e69b6 100644 --- a/lib/plugin/pl_player/models/play_status.dart +++ b/lib/plugin/pl_player/models/play_status.dart @@ -1,9 +1,13 @@ import 'package:get/get.dart'; -enum PlayerStatus { completed, playing, paused } +enum PlayerStatus { completed, playing, paused, none } class PlPlayerStatus { - Rx status = Rx(PlayerStatus.paused); + Rx status = Rx(PlayerStatus.none); + + bool get none { + return status.value == PlayerStatus.none; + } bool get playing { return status.value == PlayerStatus.playing;