diff --git a/takway/clients/web_socket_client_utils.py b/takway/clients/web_socket_client_utils.py index 7b1427c..f38f6b8 100644 --- a/takway/clients/web_socket_client_utils.py +++ b/takway/clients/web_socket_client_utils.py @@ -59,8 +59,6 @@ class WebSocketClinet: # 唤醒事件 self.wakeup_event = manager.Event() - # 打断事件 - self.interrupt_event = manager.Event() # 监听事件 self.listening_event = manager.Event() @@ -148,7 +146,8 @@ class WebSocketClinet: # 短时按键被按下,打断 try: if recorder.hardware.short_power_status and not last_short_power_status: - self.interrupt_event.set() + self.speaking_event.clear() + self.listening_event.set() recorder.hardware.short_power_status = False print("Interrupt conversation.") last_short_power_status = ~recorder.hardware.short_power_status @@ -159,13 +158,7 @@ class WebSocketClinet: pass else: self.wakeup_event.clear() - - if self.interrupt_event.is_set(): - self.speaking_event.clear() - self.listening_event.set() - self.interrupt_event.clear() - - time.sleep(0.1) + time.sleep(0.01) def voice_trigger_thread(self, recorder): """voice_trigger_thread @@ -249,7 +242,7 @@ class WebSocketClinet: is_end = True is_bgn = False - print(f"{datetime.now()}: slience_time: {slience_time}") + # print(f"{datetime.now()}: slience_time: {slience_time}") # 流式发送数据 @@ -261,7 +254,7 @@ class WebSocketClinet: min_stream_record_time=recorder.min_stream_record_time, is_bgn=is_bgn, is_end=is_end) - print(f"stream_reset_status: {stream_reset_status}, is_bgn: {is_bgn}, is_end: {is_end}, frame: {len(frames)}") + # print(f"stream_reset_status: {stream_reset_status}, is_bgn: {is_bgn}, is_end: {is_end}, frame: {len(frames)}") if stream_reset_status: frames.clear() is_bgn = False @@ -269,9 +262,10 @@ class WebSocketClinet: is_bgn = True is_end = False single_chat_finish = False + print(f"{datetime.now()}: single conversation finish, reset frames.") - if board == 'orangepi': - recorder.hardware.set_led_off("blue") + if board == 'orangepi': + recorder.hardware.set_led_off("blue") elif self.speaking_event.is_set(): print(f"{datetime.now()}: wait for speaking close and listening start.") self.listening_event.wait()