Skip to content

Commit 90d4e0b

Browse files
committed
修复 结果音乐不播放的问题
1 parent 84b1e73 commit 90d4e0b

File tree

3 files changed

+52
-19
lines changed

3 files changed

+52
-19
lines changed

app/view/main_page/flash_pumping_people.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,15 @@ def _play_result_music(self):
695695
self.fade_in_animation.setEasingCurve(QEasingCurve.InOutQuad)
696696
self.fade_in_animation.start()
697697

698+
# 延迟1秒后开始音量渐出动画,让音乐能正常播放一段时间
699+
QTimer.singleShot(self.music_fade_in + 1000, self._start_fade_out_animation)
700+
701+
except Exception as e:
702+
logger.error(f"播放音乐时出错: {e}")
703+
704+
def _start_fade_out_animation(self):
705+
"""开始音量渐出动画,让音乐逐渐淡出"""
706+
try:
698707
if self.music_player.state() == QMediaPlayer.PlayingState:
699708
# 创建音量渐出动画
700709
fade_out_animation = QPropertyAnimation(self.music_player, b"volume")
@@ -710,9 +719,15 @@ def final_stop():
710719

711720
fade_out_animation.finished.connect(final_stop)
712721
fade_out_animation.start()
713-
722+
else:
723+
# 如果音乐没有在播放,直接停止并重置音量
724+
self.music_player.stop()
725+
self.music_player.setVolume(self.result_music_volume)
714726
except Exception as e:
715-
logger.error(f"播放结果音乐时出错: {e}")
727+
logger.error(f"音量渐出动画出错: {e}")
728+
# 出错时确保停止播放并重置音量
729+
self.music_player.stop()
730+
self.music_player.setVolume(self.result_music_volume)
716731

717732
def _play_animation_music(self):
718733
"""播放动画背景音乐 ~( ̄▽ ̄)~* 星野和白露的音乐时间"""

app/view/main_page/pumping_people.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -705,25 +705,30 @@ def _play_result_music(self):
705705
self.fade_in_animation.setEasingCurve(QEasingCurve.InOutQuad)
706706
self.fade_in_animation.start()
707707

708-
if self.music_player.state() == QMediaPlayer.PlayingState:
709-
# 创建音量渐出动画
710-
fade_out_animation = QPropertyAnimation(self.music_player, b"volume")
711-
fade_out_animation.setDuration(self.music_fade_out)
712-
fade_out_animation.setStartValue(self.music_player.volume())
713-
fade_out_animation.setEndValue(0)
714-
fade_out_animation.setEasingCurve(QEasingCurve.InOutQuad)
715-
716-
# 动画结束后停止播放并重置音量
717-
def final_stop():
718-
self.music_player.stop()
719-
self.music_player.setVolume(self.result_music_volume)
720-
721-
fade_out_animation.finished.connect(final_stop)
722-
fade_out_animation.start()
708+
# 延迟一段时间后再开始音量渐出动画,确保音乐能正常播放
709+
QTimer.singleShot(self.music_fade_in + 1000, self._start_fade_out_animation)
723710

724711
except Exception as e:
725712
logger.error(f"播放结果音乐时出错: {e}")
726713

714+
def _start_fade_out_animation(self):
715+
"""开始音量渐出动画"""
716+
if self.music_player.state() == QMediaPlayer.PlayingState:
717+
# 创建音量渐出动画
718+
fade_out_animation = QPropertyAnimation(self.music_player, b"volume")
719+
fade_out_animation.setDuration(self.music_fade_out)
720+
fade_out_animation.setStartValue(self.music_player.volume())
721+
fade_out_animation.setEndValue(0)
722+
fade_out_animation.setEasingCurve(QEasingCurve.InOutQuad)
723+
724+
# 动画结束后停止播放并重置音量
725+
def final_stop():
726+
self.music_player.stop()
727+
self.music_player.setVolume(self.result_music_volume)
728+
729+
fade_out_animation.finished.connect(final_stop)
730+
fade_out_animation.start()
731+
727732
def _play_animation_music(self):
728733
"""播放动画背景音乐 ~( ̄▽ ̄)~* 星野和白露的音乐时间"""
729734
try:

app/view/main_page/pumping_reward.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,18 @@ def _play_result_music(self):
580580
self.fade_in_animation.setEasingCurve(QEasingCurve.InOutQuad)
581581
self.fade_in_animation.start()
582582

583+
# 延迟1秒后开始音量渐出动画,让音乐能正常播放一段时间
584+
QTimer.singleShot(self.music_fade_in + 1000, self._start_fade_out_animation)
585+
586+
except Exception as e:
587+
logger.error(f"播放结果音乐时出错: {e}")
588+
589+
def _start_fade_out_animation(self):
590+
"""开始音量渐出动画
591+
星野:音乐要慢慢淡出啦~ 让耳朵有个舒适的过渡呢!
592+
白露:渐出效果能让音乐结束得更自然,不会突然中断哦~"""
593+
try:
594+
# 检查音乐播放器是否正在播放
583595
if self.music_player.state() == QMediaPlayer.PlayingState:
584596
# 创建音量渐出动画
585597
fade_out_animation = QPropertyAnimation(self.music_player, b"volume")
@@ -595,9 +607,10 @@ def final_stop():
595607

596608
fade_out_animation.finished.connect(final_stop)
597609
fade_out_animation.start()
598-
610+
else:
611+
logger.warning("音乐播放器未在播放状态,跳过渐出动画")
599612
except Exception as e:
600-
logger.error(f"播放结果音乐时出错: {e}")
613+
logger.error(f"开始音量渐出动画时出错: {e}")
601614

602615
def _play_animation_music(self):
603616
"""播放动画背景音乐 ~( ̄▽ ̄)~* 星野和白露的音乐时间"""

0 commit comments

Comments
 (0)