From 6f1909a028269791e911d5eb6944800a74359f41 Mon Sep 17 00:00:00 2001 From: alger Date: Sat, 7 Jun 2025 22:10:55 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E5=90=8E=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E5=87=BA=E7=8E=B0=E7=9A=84=E6=97=A0=E6=B3=95=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/store/modules/player.ts | 8 ++++++-- src/renderer/type/music.ts | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/renderer/store/modules/player.ts b/src/renderer/store/modules/player.ts index eaa8925..6352815 100644 --- a/src/renderer/store/modules/player.ts +++ b/src/renderer/store/modules/player.ts @@ -560,7 +560,7 @@ export const usePlayerStore = defineStore('player', () => { const setPlay = async (song: SongResult) => { try { // 如果是当前正在播放的音乐,则切换播放/暂停状态 - if (playMusic.value.id === song.id && playMusic.value.playMusicUrl === song.playMusicUrl) { + if (playMusic.value.id === song.id && playMusic.value.playMusicUrl === song.playMusicUrl && !song.isFirstPlay) { if (play.value) { setPlayMusic(false); audioService.getCurrentSound()?.pause(); @@ -570,6 +570,10 @@ export const usePlayerStore = defineStore('player', () => { } return; } + + if(song.isFirstPlay) { + song.isFirstPlay = false; + } // 直接调用 handlePlayMusic,它会处理索引更新和播放逻辑 const success = await handlePlayMusic(song); @@ -1095,7 +1099,7 @@ export const usePlayerStore = defineStore('player', () => { savedPlayMusic.playMusicUrl = undefined; } - await handlePlayMusic({ ...savedPlayMusic, playMusicUrl: undefined }, isPlaying); + await handlePlayMusic({ ...savedPlayMusic, isFirstPlay: true, playMusicUrl: undefined }, isPlaying); if (savedProgress) { try { diff --git a/src/renderer/type/music.ts b/src/renderer/type/music.ts index 3addfa9..f836fce 100644 --- a/src/renderer/type/music.ts +++ b/src/renderer/type/music.ts @@ -45,6 +45,7 @@ export interface SongResult { // 时长 duration?: number; dt?: number; + isFirstPlay?: boolean; } export interface Song {