[client] fix bugs
This commit is contained in:
1 parent
b0651bdc55
commit
b47fe8d21e
3 files changed
+579
-24
No files matched your search
@@ -62,7 +62,7 @@ class WebSocketClinet:
|
||||
self.sleep_event = manager.Event()
|
||||
|
||||
# 打断事件
|
||||
self.interrupt_event = manager.Event()
|
||||
# self.interrupt_event = manager.Event()
|
||||
|
||||
# 监听事件
|
||||
self.listening_event = manager.Event()
|
||||
@@ -147,9 +147,9 @@ class WebSocketClinet:
|
||||
self.wakeup_event.set()
|
||||
# 短时按键被按下,打断
|
||||
if recorder.hardware.short_power_status and not last_short_power_status:
|
||||
self.interrupt_event.set()
|
||||
# self.interrupt_event.set()
|
||||
recorder.hardware.short_power_status = False
|
||||
print("Interrupt conversation.")
|
||||
# print("Interrupt conversation.")
|
||||
last_short_power_status = recorder.hardware.short_power_status
|
||||
else:
|
||||
self.wakeup_event.clear()
|
||||
@@ -273,9 +273,9 @@ class WebSocketClinet:
|
||||
# 睡眠 or 监听状态
|
||||
if self.sleep_event.is_set() or self.listening_event.is_set():
|
||||
break
|
||||
if self.interrupt_event.is_set():
|
||||
print(f"{datetime.now()}: button interrupt (input).")
|
||||
break
|
||||
# if self.interrupt_event.is_set():
|
||||
# print(f"{datetime.now()}: button interrupt (input).")
|
||||
# break
|
||||
if board == 'orangepi':
|
||||
recorder.hardware.set_led_off("red")
|
||||
# 重新计时
|
||||
@@ -388,10 +388,10 @@ class WebSocketClinet:
|
||||
client.close_client()
|
||||
break
|
||||
|
||||
if self.interrupt_event.is_set():
|
||||
self.listening_event.set()
|
||||
self.speaking_event.clear()
|
||||
break
|
||||
# if self.interrupt_event.is_set():
|
||||
# self.listening_event.set()
|
||||
# self.speaking_event.clear()
|
||||
# break
|
||||
|
||||
response, data_type = client.receive_per_data()
|
||||
if data_type == dict:
|
||||
@@ -482,18 +482,18 @@ class WebSocketClinet:
|
||||
self.speaking_event.clear()
|
||||
self.sleep_event.set() # 沉默状态下,关闭唤醒状态
|
||||
break
|
||||
# 按键打断播放
|
||||
if self.interrupt_event.is_set():
|
||||
print(f"{datetime.now()}: button interrupt (output).")
|
||||
# # 按键打断播放
|
||||
# if self.interrupt_event.is_set():
|
||||
# print(f"{datetime.now()}: button interrupt (output).")
|
||||
|
||||
time.sleep(0.3) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题
|
||||
# time.sleep(0.3) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题
|
||||
|
||||
while not self.audio_play_queue.empty(): # 清空队列
|
||||
self.audio_play_queue.get()
|
||||
self.listening_event.set()
|
||||
self.speaking_event.clear()
|
||||
self.interrupt_event.clear()
|
||||
break
|
||||
# while not self.audio_play_queue.empty(): # 清空队列
|
||||
# self.audio_play_queue.get()
|
||||
# self.listening_event.set()
|
||||
# self.speaking_event.clear()
|
||||
# self.interrupt_event.clear()
|
||||
# break
|
||||
|
||||
if self.speaking_event.is_set():
|
||||
# 播放最后一段音频
|
||||
|
||||
Reference in new issue
Block a user