[client] fix bugs
This commit is contained in:
parent
1e037854fd
commit
ada3fee80f
|
@ -371,6 +371,7 @@ class WebSocketClinet:
|
|||
break
|
||||
|
||||
if self.interrupt_event.is_set():
|
||||
client.close_client()
|
||||
break
|
||||
|
||||
response, data_type = client.receive_per_data()
|
||||
|
@ -411,7 +412,6 @@ class WebSocketClinet:
|
|||
# print(f"listening_event: {self.listening_event.is_set()}, speaking_event: {self.speaking_event.is_set()}")
|
||||
break # 如果没有接收到消息,则退出循环
|
||||
client.close_client()
|
||||
self.interrupt_event.clear()
|
||||
|
||||
|
||||
def audio_play_process(self):
|
||||
|
@ -462,20 +462,18 @@ class WebSocketClinet:
|
|||
# 按键打断播放
|
||||
if self.interrupt_event.is_set():
|
||||
print(f"{datetime.now()}: button interrupt.")
|
||||
# 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题
|
||||
time.sleep(0.5)
|
||||
time.sleep(0.2) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题
|
||||
self.listening_event.set()
|
||||
self.speaking_event.clear()
|
||||
self.interrupt_event.clear()
|
||||
break
|
||||
# if self.listening_event.is_set() and not self.speaking_event.is_set():
|
||||
# print(f"{datetime.now()}: speaker interrupt.")
|
||||
# break
|
||||
|
||||
|
||||
|
||||
if not self.speaking_event:
|
||||
if not self.speaking_event.is_set():
|
||||
audio_list = [] # 清空音频列表
|
||||
print(f"{datetime.now()}: audio data clear.")
|
||||
continue
|
||||
else:
|
||||
# 播放最后一段音频
|
||||
audio_player.stream.write(tts_audio[i+audio_player.CHUNK:])
|
||||
audio_list.pop(0) # 弹出第一个音频
|
||||
|
|
Loading…
Reference in New Issue