From ab1562ea3380022d7059e73aa57ea9c67c3d989a Mon Sep 17 00:00:00 2001 From: lyswhut Date: Wed, 15 Dec 2021 09:00:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=AD=8C=E6=9B=B2URL=E8=B6=85=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/core/useApp/usePlayer/usePlayer.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/renderer/core/useApp/usePlayer/usePlayer.js b/src/renderer/core/useApp/usePlayer/usePlayer.js index 29d4af57..f66a11d5 100644 --- a/src/renderer/core/useApp/usePlayer/usePlayer.js +++ b/src/renderer/core/useApp/usePlayer/usePlayer.js @@ -51,7 +51,7 @@ const getPlayType = (highQuality, songInfo) => { return type } -const useDelayNextTimeout = ({ playNext }) => { +const useDelayNextTimeout = ({ playNext, timeout }) => { let delayNextTimeout const clearDelayNextTimeout = () => { // console.log(this.delayNextTimeout) @@ -64,7 +64,7 @@ const useDelayNextTimeout = ({ playNext }) => { const addDelayNextTimeout = () => { clearDelayNextTimeout() delayNextTimeout = Math.random() - wait(5000, delayNextTimeout).then(() => { + wait(timeout, delayNextTimeout).then(() => { delayNextTimeout = null playNext() }).catch(_ => _) @@ -87,11 +87,14 @@ export default ({ setting }) => { const clearPlayedList = useCommit('player', 'clearPlayedList') const setPlayedList = useCommit('player', 'setPlayedList') + const { addDelayNextTimeout, clearDelayNextTimeout } = useDelayNextTimeout({ playNext, timeout: 5000 }) + const { addDelayNextTimeout: addLoadTimeout, clearDelayNextTimeout: clearLoadTimeout } = useDelayNextTimeout({ playNext, timeout: 123000 }) const setUrl = (targetSong, isRefresh, isRetryed = false) => { let type = getPlayType(setting.value.player.highQuality, targetSong) // this.musicInfo.url = await getMusicUrl(targetSong, type) setAllStatus(t('player__geting_url')) + addLoadTimeout() return getUrl({ musicInfo: targetSong, @@ -113,6 +116,8 @@ export default ({ setting }) => { setAllStatus(err.message) addDelayNextTimeout() return Promise.reject(err) + }).finally(() => { + clearLoadTimeout() }) } const setImg = ({ listId, musicInfo: targetSong }) => { @@ -154,7 +159,7 @@ export default ({ setting }) => { window.eventHub.emit(eventPlayerNames.updateLyric, musicInfo) }) } - const { addDelayNextTimeout, clearDelayNextTimeout } = useDelayNextTimeout({ playNext }) + usePlayProgress({ setting, playNext }) useMediaSessionInfo({ playPrev, playNext }) usePlayEvent({