From 6e0c528126edc18ad8cd33c09ab3ca396e8eb525 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Tue, 7 Apr 2026 22:54:41 -0400 Subject: [PATCH] fix(voice): resume AudioContext to prevent suspended state blocking silence detection --- frontend/src/composables/useSilenceDetector.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/composables/useSilenceDetector.ts b/frontend/src/composables/useSilenceDetector.ts index 04295b2..2889514 100644 --- a/frontend/src/composables/useSilenceDetector.ts +++ b/frontend/src/composables/useSilenceDetector.ts @@ -22,6 +22,9 @@ export function useSilenceDetector(options: SilenceDetectorOptions = {}) { function start(stream: MediaStream, onSilence: () => void): void { stop() audioCtx = new AudioContext() + // Some browsers start AudioContext in "suspended" state — resume so + // getByteFrequencyData returns real values instead of all zeros. + audioCtx.resume().catch(() => {}) const source = audioCtx.createMediaStreamSource(stream) const analyser = audioCtx.createAnalyser() analyser.fftSize = 256