diff --git a/frontend/index.html b/frontend/index.html index d693e65..6be369f 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -30,7 +30,7 @@ - v0.2.1 + v0.3.1 diff --git a/frontend/js/voice.js b/frontend/js/voice.js index 44dea42..b78dc85 100644 --- a/frontend/js/voice.js +++ b/frontend/js/voice.js @@ -316,6 +316,13 @@ class VoiceManager { // ── Playback ────────────────────────────────────────────────── try { + // Wait for audio to be fully buffered before playing + await new Promise((resolve, reject) => { + audio.addEventListener('canplaythrough', resolve, { once: true }); + audio.addEventListener('error', reject, { once: true }); + audio.load(); // Explicitly trigger loading + }); + audio.currentTime = 0; // Ensure we start from the very beginning await audio.play(); return new Promise(resolve => { audio.onended = () => {