fix: player key

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-02-27 16:52:33 +08:00
parent 609fab345a
commit 587870ad71
3 changed files with 24 additions and 21 deletions

View File

@@ -243,25 +243,27 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
// 播放器状态监听
void playerListener(PlayerStatus? status) async {
try {
bool isPlaying = status == PlayerStatus.playing;
if (isPlaying) {
if (videoDetailController.isExpanding.not &&
videoDetailController.scrollCtr.offset != 0 &&
videoDetailController.animationController.isAnimating.not) {
videoDetailController.isExpanding = true;
videoDetailController.animationController.forward(
from: 1 -
videoDetailController.scrollCtr.offset /
videoDetailController.videoHeight);
if (videoDetailController.scrollCtr.hasClients) {
bool isPlaying = status == PlayerStatus.playing;
if (isPlaying) {
if (videoDetailController.isExpanding.not &&
videoDetailController.scrollCtr.offset != 0 &&
videoDetailController.animationController.isAnimating.not) {
videoDetailController.isExpanding = true;
videoDetailController.animationController.forward(
from: 1 -
videoDetailController.scrollCtr.offset /
videoDetailController.videoHeight);
} else {
if (videoDetailController.scrollKey.currentState?.mounted == true) {
videoDetailController.scrollKey.currentState?.setState(() {});
}
}
} else {
if (videoDetailController.scrollKey.currentState?.mounted == true) {
videoDetailController.scrollKey.currentState?.setState(() {});
}
}
} else {
if (videoDetailController.scrollKey.currentState?.mounted == true) {
videoDetailController.scrollKey.currentState?.setState(() {});
}
}
} catch (e) {
debugPrint('handle playe status: $e');