From f2fb37df4cb2476c26d67c95c2c1f40147e2cbab Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sat, 23 Jan 2021 16:33:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BF=AB=E9=80=9F=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=AD=8C=E6=9B=B2=E6=97=B6,=20=E4=BC=9A=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E6=92=AD=E6=94=BE=E7=9A=84=E6=AD=8C=E6=9B=B2=E5=92=8C?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=B1=95=E7=A4=BA=E7=9A=84=E6=AD=8C=E6=9B=B2?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 4 ++++ src/renderer/components/core/Player.vue | 5 +++-- src/renderer/store/modules/player.js | 9 +++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index 5d80a4af..0e10af2c 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -7,6 +7,10 @@ - 优化播放歌曲换源匹配 +### 修复 + +- 修复快速切换歌曲时, 会出现播放的歌曲和界面展示的歌曲不一致的问题 + ### 其他 - 更新electron到9.4.1 diff --git a/src/renderer/components/core/Player.vue b/src/renderer/components/core/Player.vue index 64459c61..88c3d6c9 100644 --- a/src/renderer/components/core/Player.vue +++ b/src/renderer/components/core/Player.vue @@ -581,8 +581,9 @@ export default { this.musicInfo.url = targetSong.typeUrl[type] this.status = this.statusText = this.$t('core.player.geting_url') - return this.getUrl({ musicInfo: targetSong, originMusic, type, isRefresh }).then(() => { - audio.src = this.musicInfo.url = targetSong.typeUrl[type] + return this.getUrl({ musicInfo: targetSong, originMusic, type, isRefresh }).then(url => { + if ((targetSong !== this.targetSong && originMusic !== this.targetSong) || this.isPlay) return + audio.src = this.musicInfo.url = url }).catch(err => { // console.log('err', err.message) if (err.message == requestMsg.cancelRequest) return diff --git a/src/renderer/store/modules/player.js b/src/renderer/store/modules/player.js index 86ea430f..9d23766d 100644 --- a/src/renderer/store/modules/player.js +++ b/src/renderer/store/modules/player.js @@ -119,12 +119,13 @@ const actions = { // return Promise.reject(new Error('该歌曲没有可播放的音频')) } if (urlRequest && urlRequest.cancelHttp) urlRequest.cancelHttp() - if (musicInfo.typeUrl[type] && !isRefresh) return Promise.resolve() + if (musicInfo.typeUrl[type] && !isRefresh) return Promise.resolve(musicInfo.typeUrl[type]) urlRequest = music[musicInfo.source].getMusicUrl(musicInfo, type) - return urlRequest.promise.then(result => { - if (originMusic) commit('setUrl', { musicInfo: originMusic, url: result.url, type }) - commit('setUrl', { musicInfo, url: result.url, type }) + return urlRequest.promise.then(({ url }) => { + if (originMusic) commit('setUrl', { musicInfo: originMusic, url, type }) + commit('setUrl', { musicInfo, url, type }) urlRequest = null + return url }).catch(err => { urlRequest = null return Promise.reject(err)