diff --git a/static/app.js b/static/app.js
index b43f08e..0ef3d6e 100644
--- a/static/app.js
+++ b/static/app.js
@@ -59,12 +59,17 @@ function addBubble(text, role = "assistant") {
async function unlockAudio() {
if (audioUnlocked) return;
- const audio = new Audio();
- audio.muted = true;
try {
- await audio.play();
+ const AudioContext = window.AudioContext || window.webkitAudioContext;
+ if (AudioContext) {
+ const context = new AudioContext();
+ if (context.state === "suspended") {
+ await context.resume();
+ }
+ await context.close();
+ }
} catch {
- // Mobile browsers only need the attempt to happen inside a tap handler.
+ // The click itself is enough to authorize later playback in most browsers.
}
audioUnlocked = true;
}
@@ -97,6 +102,7 @@ async function sendText() {
}
async function toggleVoice() {
+ setStatus("Activation du micro", "live");
await unlockAudio();
if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
diff --git a/static/index.html b/static/index.html
index df3e6d0..8a08def 100644
--- a/static/index.html
+++ b/static/index.html
@@ -50,6 +50,6 @@
-
+