diff --git a/android/app/src/main/res/drawable/ic_next.xml b/android/app/src/main/res/drawable/ic_next.xml new file mode 100644 index 0000000..0b84e26 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_next.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/ic_pause.xml b/android/app/src/main/res/drawable/ic_pause.xml new file mode 100644 index 0000000..3f57dc0 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_pause.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/ic_play.xml b/android/app/src/main/res/drawable/ic_play.xml new file mode 100644 index 0000000..47bb6fe --- /dev/null +++ b/android/app/src/main/res/drawable/ic_play.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/ic_previous.xml b/android/app/src/main/res/drawable/ic_previous.xml new file mode 100644 index 0000000..11e348f --- /dev/null +++ b/android/app/src/main/res/drawable/ic_previous.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/lib/audio/playback_state_manager.dart b/lib/audio/playback_state_manager.dart index 5c3486a..db6633e 100644 --- a/lib/audio/playback_state_manager.dart +++ b/lib/audio/playback_state_manager.dart @@ -17,23 +17,23 @@ class PlaybackStateManager { Duration get duration => _duration; // ⭐ 核心改动:使用 playPause 替代 play/pause 分离 + // lib/audio/playback_state_manager.dart audio_service.PlaybackState get playbackState { - // ⭐ 固定使用 playPause,不再动态切换 final playControl = audio_service.MediaControl( androidIcon: _playing ? 'drawable/ic_pause' : 'drawable/ic_play', label: _playing ? '暂停' : '播放', - action: audio_service.MediaAction.playPause, // 固定 + action: audio_service.MediaAction.playPause, ); final controls = [ audio_service.MediaControl( - androidIcon: 'drawable/ic_previous', + androidIcon: 'drawable/ic_previous', // 上一首 label: '上一曲', action: audio_service.MediaAction.skipToPrevious, ), playControl, audio_service.MediaControl( - androidIcon: 'drawable/ic_next', + androidIcon: 'drawable/ic_next', // 下一首 label: '下一曲', action: audio_service.MediaAction.skipToNext, ), @@ -42,10 +42,9 @@ class PlaybackStateManager { return audio_service.PlaybackState( controls: controls, processingState: audio_service.AudioProcessingState.ready, - playing: _playing, // ⭐ 这里才是真正的播放状态,通知栏会根据它显示正确的图标 - androidCompactActionIndices: const [0, 1, 2], + playing: _playing, + androidCompactActionIndices: const [0, 1, 2], // 显示全部三个 updateTime: DateTime.now(), - //extras: {'_refresh': DateTime.now().millisecondsSinceEpoch}, ); }