feat(voice): Wake-Word per Befehl wieder anschalten (Gegenstück zu wake_off)
"Wake-Word an" / "mach das Ohr an" / "hör wieder zu" / "wach auf" → App startet den Listener wieder. Geht per Text-Nachricht ODER manuellem Aufnahme-Button — beide laufen unabhängig vom Wake-Word-Listener, also funktioniert das Wieder-An auch wenn das Ohr gerade taub ist (nur nicht per "Computer", das hört ja nicht). Symmetrisch zu wake_off: Detektor _user_wants_wake_on → wake_on durch ChatOut → Bridge → App löst wakeWordService.start() + setWakeWordActive(true) aus. An/Aus kollidieren nicht (12 Fälle getestet). Damit: Ohr per Befehl ein UND aus, plus weiterhin der Ohr-Button. Fix nebenbei: gerades " in den Reply-Strings (hätte den Brain-Start gecrasht) → einfache Anführungszeichen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1407,8 +1407,22 @@ const ChatScreen: React.FC = () => {
|
||||
// sofort (zurueck aufs Wake-Word), nur echte Gespraeche lauschen weiter.
|
||||
converseRef.current = (message.payload as any).converse === true;
|
||||
const _wakeOff = (message.payload as any).wake_off === true;
|
||||
const _wakeOn = (message.payload as any).wake_on === true;
|
||||
const _isSilent = (message.payload as any).speak === false;
|
||||
if (_wakeOff) {
|
||||
if (_wakeOn) {
|
||||
// "Wake-Word an" per Text/Aufnahme-Button → Listener wieder starten
|
||||
// (gleicher Weg wie toggleWakeWord-on). Geht auch wenn das Ohr taub war,
|
||||
// weil der Befehl NICHT ueber "Computer" kam.
|
||||
(async () => {
|
||||
try {
|
||||
const started = await wakeWordService.start();
|
||||
setWakeWordActive(started);
|
||||
console.log('[Chat] Wake-Word per Befehl AN gestartet:', started);
|
||||
} catch (e) {
|
||||
console.warn('[Chat] Wake-Word AN fehlgeschlagen:', e);
|
||||
}
|
||||
})();
|
||||
} else if (_wakeOff) {
|
||||
// ARIA hat "Wake-Word aus" per Sprache bekommen → Listener KOMPLETT
|
||||
// stoppen (Mikro frei, echte Ruhe). Gleicher Weg wie der Ohr-Button
|
||||
// (toggleWakeWord-off). Wieder-An nur ueber den Button (dann taub).
|
||||
|
||||
Reference in New Issue
Block a user