[client] fix bugs

This commit is contained in:
IrvingGao 2024-06-18 18:09:12 +08:00
parent b71775faba
commit 3c44dd8def
1 changed files with 9 additions and 2 deletions

View File

@ -59,6 +59,7 @@ class WebSocketClinet:
# 唤醒事件 # 唤醒事件
self.wakeup_event = manager.Event() self.wakeup_event = manager.Event()
self.sleep_event = manager.Event()
# 打断事件 # 打断事件
self.interrupt_event = manager.Event() self.interrupt_event = manager.Event()
@ -199,6 +200,10 @@ class WebSocketClinet:
print("Start recording...") print("Start recording...")
# 准备对话状态 # 准备对话状态
while True: 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(): if not self.wakeup_event.is_set():
break break
@ -260,7 +265,8 @@ class WebSocketClinet:
if board == 'orangepi': if board == 'orangepi':
recorder.hardware.set_led_on("red") recorder.hardware.set_led_on("red")
while True: 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 break
if board == 'orangepi': if board == 'orangepi':
recorder.hardware.set_led_off("red") recorder.hardware.set_led_off("red")
@ -395,7 +401,8 @@ class WebSocketClinet:
elif response['code'] == 201: elif response['code'] == 201:
self.listening_event.clear() self.listening_event.clear()
self.speaking_event.clear() self.speaking_event.clear()
self.wakeup_event.clear() # 沉默状态下,关闭唤醒状态 self.sleep_event.set() # 沉默状态下,关闭唤醒状态
self.wakeup_event.clear()
elif data_type == list: elif data_type == list:
print(f"{datetime.now()}: receive text_audio_data") print(f"{datetime.now()}: receive text_audio_data")
# 切换播放模式 # 切换播放模式