From 41cacaa74087d96a8d91fe63a78df2adb94d03f6 Mon Sep 17 00:00:00 2001 From: cfy666 <3087823110@qq.com> Date: Sun, 14 Jun 2026 12:54:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=BA=A6=E5=85=8B?= =?UTF-8?q?=E9=A3=8E=E5=85=B3=E9=97=AD=E5=90=8E=E9=87=8D=E6=96=B0=E6=89=93?= =?UTF-8?q?=E5=BC=80=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 关闭麦克风时同时停止 VAD - 打开麦克风时重新初始化 VAD --- frontend/src/hooks/useVisionSession.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/src/hooks/useVisionSession.ts b/frontend/src/hooks/useVisionSession.ts index e85640e..49b5891 100644 --- a/frontend/src/hooks/useVisionSession.ts +++ b/frontend/src/hooks/useVisionSession.ts @@ -336,13 +336,17 @@ export function useVisionSession() { /** 麦克风开关 */ const toggleMic = useCallback(async () => { if (isMicOn) { + await stopVAD(); stopMic(); setIsMicOn(false); } else { const micStream = await startMic(); - setIsMicOn(!!micStream); + if (micStream) { + await startVAD(micStream); + setIsMicOn(true); + } } - }, [isMicOn, startMic, stopMic]); + }, [isMicOn, startMic, stopMic, startVAD, stopVAD]); /** 打断当前回复 */ const interrupt = useCallback(() => {