From 974dee2995ad490bf03b5fb8931444d26d5b1cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=AE=89=E7=9A=84=E4=BA=A1=E5=91=BD=E6=A8=B1?= <1+lxh2875931338@noreply.localhost> Date: Wed, 2 Sep 2026 10:15:54 +0800 Subject: [PATCH] revert 99917bac87058ef85d51278dc23e5cbe419ea89e MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert Core Freeze:核心链路功能已经完成设计,后续进入beta功能开发模式,接下来会在UI部分微调后,进入首个Release版本(1.1.0-Release) --- lib/services/audio_service.dart | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/lib/services/audio_service.dart b/lib/services/audio_service.dart index 607601e..8a2bc3b 100644 --- a/lib/services/audio_service.dart +++ b/lib/services/audio_service.dart @@ -779,6 +779,7 @@ class AudioService extends ChangeNotifier { debugPrint('💾 [AudioService] playback state saved'); } + /// 恢复播放状态 /// 恢复播放状态 Future restorePlaybackState() async { final state = await _db.getPlaybackState(); @@ -802,9 +803,7 @@ class AudioService extends ChangeNotifier { _queue = queue; _currentIndex = state['current_index'] as int; - if (_currentIndex < 0 || _currentIndex >= _queue.length) { - _currentIndex = 0; - } + if (_currentIndex >= _queue.length) _currentIndex = 0; final modeStr = state['play_mode'] as String? ?? 'sequential'; _playMode = modeStr == 'sequential' @@ -814,20 +813,6 @@ class AudioService extends ChangeNotifier { : PlayMode.shuffle; _currentPlaylistId = state['current_playlist_id'] as String?; - // ⭐⭐⭐ 关键修复:重建 _shuffledIndices 和 _shuffledIndex ⭐⭐⭐ - if (_playMode == PlayMode.shuffle) { - _shuffledIndices = List.generate(_queue.length, (i) => i); - _shuffledIndices.shuffle(); - _shuffledIndex = _shuffledIndices.indexOf(_currentIndex); - if (_shuffledIndex == -1) { - _shuffledIndex = 0; - _currentIndex = _shuffledIndices[0]; - } - } else { - _shuffledIndices = List.generate(_queue.length, (i) => i); - _shuffledIndex = _currentIndex; - } - // 保存待恢复的进度 final savedPos = state['position_ms'] as int? ?? 0; _pendingSeekPosition = Duration(milliseconds: savedPos); @@ -836,11 +821,10 @@ class AudioService extends ChangeNotifier { _currentSong = song; _onSongChanged?.call(song); - debugPrint('♻️ [AudioService] playback state restored: ' - 'queue=${_queue.length}, index=$_currentIndex, ' - 'song=${song.title}, mode=$_playMode'); + debugPrint( + '♻️ [AudioService] playback state restored: ${song.title} - ${song.artist}'); - // ⭐ 加载音频但不自动播放 + // ⭐ 关键:加载音频但不自动播放 await _loadRestoredPlayback(); return true;