[bug] board

This commit is contained in:
IrvingGao 2024-05-23 20:29:07 +08:00
parent 98db151295
commit 9a72ef8a77
1 changed files with 8 additions and 14 deletions

View File

@ -59,8 +59,6 @@ class WebSocketClinet:
# 唤醒事件 # 唤醒事件
self.wakeup_event = manager.Event() self.wakeup_event = manager.Event()
# 打断事件
self.interrupt_event = manager.Event()
# 监听事件 # 监听事件
self.listening_event = manager.Event() self.listening_event = manager.Event()
@ -148,7 +146,8 @@ class WebSocketClinet:
# 短时按键被按下,打断 # 短时按键被按下,打断
try: try:
if recorder.hardware.short_power_status and not last_short_power_status: 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 recorder.hardware.short_power_status = False
print("Interrupt conversation.") print("Interrupt conversation.")
last_short_power_status = ~recorder.hardware.short_power_status last_short_power_status = ~recorder.hardware.short_power_status
@ -159,13 +158,7 @@ class WebSocketClinet:
pass pass
else: else:
self.wakeup_event.clear() self.wakeup_event.clear()
time.sleep(0.01)
if self.interrupt_event.is_set():
self.speaking_event.clear()
self.listening_event.set()
self.interrupt_event.clear()
time.sleep(0.1)
def voice_trigger_thread(self, recorder): def voice_trigger_thread(self, recorder):
"""voice_trigger_thread """voice_trigger_thread
@ -249,7 +242,7 @@ class WebSocketClinet:
is_end = True is_end = True
is_bgn = False 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, min_stream_record_time=recorder.min_stream_record_time,
is_bgn=is_bgn, is_bgn=is_bgn,
is_end=is_end) 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: if stream_reset_status:
frames.clear() frames.clear()
is_bgn = False is_bgn = False
@ -269,9 +262,10 @@ class WebSocketClinet:
is_bgn = True is_bgn = True
is_end = False is_end = False
single_chat_finish = False single_chat_finish = False
print(f"{datetime.now()}: single conversation finish, reset frames.")
if board == 'orangepi': if board == 'orangepi':
recorder.hardware.set_led_off("blue") recorder.hardware.set_led_off("blue")
elif self.speaking_event.is_set(): elif self.speaking_event.is_set():
print(f"{datetime.now()}: wait for speaking close and listening start.") print(f"{datetime.now()}: wait for speaking close and listening start.")
self.listening_event.wait() self.listening_event.wait()