From b33eaa9acdb994b969612b0448990c23b9fa417d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E5=B2=A9?= Date: Mon, 10 Nov 2025 17:21:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A8=E8=88=AA=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/course/components/talkingItem.vue | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/pages/course/components/talkingItem.vue b/src/pages/course/components/talkingItem.vue index 2c029db7..5cced8fb 100644 --- a/src/pages/course/components/talkingItem.vue +++ b/src/pages/course/components/talkingItem.vue @@ -440,13 +440,13 @@ // pauseVoice(); console.log('onUnload') talkVoiceObj.value?.destroy() - if(downloadFnc.value) downloadFnc.value?.abord() + if(downloadFnc.value && downloadFnc.value.abord) downloadFnc.value?.abord() downloadFnc.value = null }); onHide(() => { console.log('onHide') voiceLoading.value = false; - if(downloadFnc.value) downloadFnc.value?.abord() + if(downloadFnc.value && downloadFnc.value.abord) downloadFnc.value?.abord() downloadFnc.value = null }); let prevTime = -1; @@ -479,7 +479,7 @@ voiceLoading.value = false; prevTime = talkVoiceObj.value.currentTime; pauseTime = prevTime - if(downloadFnc.value) downloadFnc.value?.abord() + if(downloadFnc.value && downloadFnc.value.abord) downloadFnc.value?.abord() downloadFnc.value = null }); talkVoiceObj.value.onPlay(() => { @@ -518,7 +518,6 @@ // emit('changePlay', ''); }); const pauseVoice = () => { - console.log('手动') voiceLoading.value = false; if (!talkVoiceObj.value) return; talkVoiceObj.value.pause(); @@ -540,6 +539,8 @@ }; const downloadFnc = ref(null) const playVoice = (readType = 'pgth') => { + console.log('playVoice11111111') + if(voiceIsPlaying.value) return let _content = showContent.value; if (!_content) { common.msg('没有可以播放的文字信息!'); @@ -549,12 +550,14 @@ emit('changePlay', unref(dataInfo)?.id); // readType 阅读内容类型pgrh段落/qns问题 if (talkVoiceObj.value.src && talkVoiceObj.value.src === itemVoice.value) { + if(voiceIsPlaying.value) return talkVoiceObj.value.play(); return; } talkVoiceObj.value.src = ''; if (itemVoice.value) { setTimeout(() => { + if(voiceIsPlaying.value) return talkVoiceObj.value.src = itemVoice.value; talkVoiceObj.value.play(); }, 100); @@ -606,6 +609,7 @@ if (url) { voiceLoading.value = false; itemVoice.value = url; + if(voiceIsPlaying.value) return talkVoiceObj.value.src = url; talkVoiceObj.value.play(); } else { @@ -620,6 +624,7 @@ } voiceLoading.value = false; itemVoice.value = res.tempFilePath; + if(voiceIsPlaying.value) return talkVoiceObj.value.src = res.tempFilePath; // 判斷是否在當前頁面 if(unref(isGettingId) === unref(dataInfo)?.id){