From 3c44dd8def54e97dcba02f7de67e5f7b3c23bf3a Mon Sep 17 00:00:00 2001 From: IrvingGao <1729854488@qq.com> Date: Tue, 18 Jun 2024 18:09:12 +0800 Subject: [PATCH] [client] fix bugs --- takway/clients/web_socket_client_utils.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/takway/clients/web_socket_client_utils.py b/takway/clients/web_socket_client_utils.py index b96c2ca..4acf1a3 100644 --- a/takway/clients/web_socket_client_utils.py +++ b/takway/clients/web_socket_client_utils.py @@ -59,6 +59,7 @@ class WebSocketClinet: # 唤醒事件 self.wakeup_event = manager.Event() + self.sleep_event = manager.Event() # 打断事件 self.interrupt_event = manager.Event() @@ -199,6 +200,10 @@ class WebSocketClinet: print("Start recording...") # 准备对话状态 while True: + if self.sleep_event.is_set(): + print(f"{datetime.now()}: sleep mode.") + recorder.hardware.long_power_status = False + if not self.wakeup_event.is_set(): break @@ -260,7 +265,8 @@ class WebSocketClinet: if board == 'orangepi': recorder.hardware.set_led_on("red") while True: - if not self.wakeup_event.is_set() or self.listening_event.is_set(): + # 睡眠 or 监听状态 + if self.sleep_event.is_set() or self.listening_event.is_set(): break if board == 'orangepi': recorder.hardware.set_led_off("red") @@ -395,7 +401,8 @@ class WebSocketClinet: elif response['code'] == 201: self.listening_event.clear() self.speaking_event.clear() - self.wakeup_event.clear() # 沉默状态下,关闭唤醒状态 + self.sleep_event.set() # 沉默状态下,关闭唤醒状态 + self.wakeup_event.clear() elif data_type == list: print(f"{datetime.now()}: receive text_audio_data") # 切换播放模式