fix(voice): ignore playback audio until real barge-in
This commit is contained in:
@@ -928,8 +928,11 @@ class AudioSocketMediaRuntime:
|
||||
actor.playback_interrupt.set()
|
||||
actor.barge_in_pending = True
|
||||
actor.speech_started_monotonic = actor.speech_started_monotonic or time.monotonic()
|
||||
return
|
||||
else:
|
||||
actor.barge_in_speech_ms = 0
|
||||
if not actor.barge_in_pending:
|
||||
return
|
||||
else:
|
||||
actor.barge_in_speech_ms = 0
|
||||
|
||||
@@ -1357,7 +1360,7 @@ class AudioSocketMediaRuntime:
|
||||
handoff_reason,
|
||||
)
|
||||
actor.state = state
|
||||
actor.input_active = state in {"listening", "speaking", "thinking"}
|
||||
actor.input_active = state in {"listening", "thinking"}
|
||||
actor.playback_active = state == "speaking"
|
||||
await asyncio.to_thread(
|
||||
self._set_state,
|
||||
|
||||
Reference in New Issue
Block a user