소스 검색

Merge branch 'master' of http://59.110.91.129:3000/zhangmengying/AIClass into wanzi

丸子 3 달 전
부모
커밋
85b9cf53fd
1개의 변경된 파일22개의 추가작업 그리고 27개의 파일을 삭제
  1. 22 27
      src/components/ai/voice/VoiceInput.vue

+ 22 - 27
src/components/ai/voice/VoiceInput.vue

@@ -108,8 +108,6 @@ const toggleSpeechInput = () => {
     // 手动停止时重置状态
     countdown.value = 0
     recognition.value?.stop()
-    isRecording.value = false
-    emit('recordingStatusChanged', false)
   } else {
     // 初始化倒计时前再次清除定时器(防止快速点击)
     clearInterval(countdownTimer.value)
@@ -119,31 +117,28 @@ const toggleSpeechInput = () => {
     if (!recognition.value) return
 
     navigator.mediaDevices.getUserMedia({ audio: true })
-      .then(() => {
-        recognition.value.start()
-        isRecording.value = true
-        emit('recordingStatusChanged', true)
-
-        // 启动新的倒计时定时器
-        countdownTimer.value = setInterval(() => {
-          countdown.value--
-          if (countdown.value <= 0) {
-            clearInterval(countdownTimer.value) // 倒计时结束清除
-            recognition.value.stop()
-            isRecording.value = false
-            emit('recordingStatusChanged', false)
-            countdown.value = 0
-          }
-        }, 1000)
-      })
-      .catch((err) => {
-        console.error('麦克风权限获取失败:', err)
-        ElMessage.warning('请允许麦克风权限以使用语音输入')
-        // 出错时重置状态
-        isRecording.value = false
-        emit('recordingStatusChanged', false)
-        countdown.value = 0
-      })
+        .then(() => {
+          recognition.value.start()
+          isRecording.value = true
+          emit('recordingStatusChanged', true)
+
+          // 启动新的倒计时定时器
+          countdownTimer.value = setInterval(() => {
+            countdown.value--
+            if (countdown.value <= 0) {
+              clearInterval(countdownTimer.value) // 倒计时结束清除
+              recognition.value.stop()
+            }
+          }, 1000)
+        })
+        .catch((err) => {
+          console.error('麦克风权限获取失败:', err)
+          ElMessage.warning('请允许麦克风权限以使用语音输入')
+          // 出错时重置状态
+          isRecording.value = false
+          emit('recordingStatusChanged', false)
+          countdown.value = 0
+        })
   }
 }