From d7a6491df58a06df1391cd79e42d546d63c4d425 Mon Sep 17 00:00:00 2001 From: "ex_zhangwenlei@exiot.cmcc" <15196725410@139.com> Date: Wed, 17 Jan 2024 11:07:50 +0800 Subject: [PATCH] fix: play music bug when there is only a song,cant play forever --- src/components/PlayMusic/index.vue | 20 +++++++++++++------- todo.todo | 4 +++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/PlayMusic/index.vue b/src/components/PlayMusic/index.vue index 0cb83c4..4ab907b 100644 --- a/src/components/PlayMusic/index.vue +++ b/src/components/PlayMusic/index.vue @@ -14,9 +14,12 @@ const settingRef = ref() // const audio = ref(new Audio()) const globalConfig = useStore().globalConfig const { getMusicList: localMusicList,getCurrentMusic:currentMusic } = storeToRefs(globalConfig); -const localMusicListValue = ref(localMusicList) +// const localMusicListValue = ref(localMusicList) const play = async (item: any) => { + if(!item){ + return + } // if (!audio.value.paused && !skip) { // audio.value.pause() @@ -37,6 +40,9 @@ const play = async (item: any) => { audio.value.play() } const playMusic=(item:any,skip = false)=>{ + if(!item){ + return + } if(!currentMusic.value.paused&&!skip){ globalConfig.setCurrentMusic(item,true) @@ -46,13 +52,13 @@ return } const nextPlay = () => { // 播放下一首 - if (localMusicListValue.value.length > 1) { - let index = localMusicListValue.value.findIndex((item: any) => item.name == currentMusic.value.item.name) + if (localMusicList.value.length >= 1) { + let index = localMusicList.value.findIndex((item: any) => item.name == currentMusic.value.item.name) index++ - if (index >= localMusicListValue.value.length) { + if (index >= localMusicList.value.length) { index = 0 } - globalConfig.setCurrentMusic(localMusicListValue.value[index],false) + globalConfig.setCurrentMusic(localMusicList.value[index],false) } } // 监听播放成后开始下一首 @@ -68,7 +74,7 @@ const enterHome = () => { } onMounted(() => { - globalConfig.setCurrentMusic(localMusicListValue.value[0],true) + globalConfig.setCurrentMusic(localMusicList.value[0],true) onPlayEnd() // 不使用空格控制audio }) @@ -101,7 +107,7 @@ watch(currentMusic, (val: any) => { -