diff --git a/frontend/src/components/VoiceOverlay.vue b/frontend/src/components/VoiceOverlay.vue index 7445a30..470a648 100644 --- a/frontend/src/components/VoiceOverlay.vue +++ b/frontend/src/components/VoiceOverlay.vue @@ -68,6 +68,8 @@ const audio = useVoiceAudio() // ─── Core PTT flow ──────────────────────────────────────────────────────────── async function startPtt() { if (!voiceEnabled.value || isBusy.value) return + // Stop any in-progress TTS playback before opening the mic + audio.stop() errorMsg.value = '' open.value = true await recorder.startRecording() diff --git a/frontend/src/views/BriefingView.vue b/frontend/src/views/BriefingView.vue index 9ac88b2..9dd06da 100644 --- a/frontend/src/views/BriefingView.vue +++ b/frontend/src/views/BriefingView.vue @@ -281,6 +281,7 @@ async function speakText(text: string) { // PTT: hold to record, release to transcribe and send async function startPtt() { if (!voiceEnabled.value || recorder.recording.value) return + audio.stop() await recorder.startRecording() }