From 9e12e0001ced0db6310283528e3f33a788fbb596 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 25 Apr 2026 00:38:22 +0200 Subject: [PATCH] =?UTF-8?q?debug:=20Logs=20fuer=20Auto-Playback-Bug=20?= =?UTF-8?q?=E2=80=94=20canPlay=20+=20silent-state=20sichtbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stefan berichtet dass Auto-Playback trotz Closure-Fix nicht greift. Zwei neue Log-Zeilen die beim naechsten Test direkt zeigen was schief laeuft: - ChatScreen: "[Chat] audio-msg canPlay=X (enabled=Y muted=Z)" - audio.ts: "[Audio] PCM-Stream start: silent=X messageId=Y ..." Ausreichend um zu unterscheiden: * canPlay=false trotz Mund-an → ttsMuted bleibt im State haengen * canPlay=true aber silent=true in audio.ts → Ref-Bug oder race * silent=false aber nichts hoerbar → native-module oder audio-routing Co-Authored-By: Claude Opus 4.7 (1M context) --- android/src/screens/ChatScreen.tsx | 4 ++++ android/src/services/audio.ts | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/android/src/screens/ChatScreen.tsx b/android/src/screens/ChatScreen.tsx index 06698cb..f56ad72 100644 --- a/android/src/screens/ChatScreen.tsx +++ b/android/src/screens/ChatScreen.tsx @@ -316,6 +316,10 @@ const ChatScreen: React.FC = () => { // TTS-Audio abspielen wenn vorhanden — respektiert geraetelokalen Mute/Disable // WICHTIG: via Ref statt direkt state lesen, sonst ist's stale (Closure-Bug). const canPlay = ttsCanPlayRef.current; + if (message.type === 'audio_pcm' || (message.type === 'audio' && message.payload.base64)) { + console.log('[Chat] audio-msg canPlay=%s (enabled=%s muted=%s)', + canPlay, ttsDeviceEnabled, ttsMuted); + } if (message.type === 'audio' && message.payload.base64) { const b64 = message.payload.base64 as string; const refId = (message.payload.messageId as string) || ''; diff --git a/android/src/services/audio.ts b/android/src/services/audio.ts index be07774..59bd10d 100644 --- a/android/src/services/audio.ts +++ b/android/src/services/audio.ts @@ -459,6 +459,13 @@ class AudioService { console.warn('[Audio] PcmStreamPlayer Native Module nicht verfuegbar'); return ''; } + // Debug-Log bei Chunk 0 eines neuen Streams — damit man im adb logcat + // sieht warum der Auto-Playback greift oder nicht. + if ((payload.chunk ?? 0) === 0 && !this.pcmStreamActive) { + console.log('[Audio] PCM-Stream start: silent=%s messageId=%s sr=%s ch=%s', + silent, payload.messageId || '(none)', + payload.sampleRate, payload.channels); + } const messageId = payload.messageId || ''; const sampleRate = payload.sampleRate || 24000;