[client] fix bugs

This commit is contained in:
IrvingGao 2024-06-18 17:56:32 +08:00
parent 016719cf75
commit b71775faba
1 changed files with 11 additions and 8 deletions

View File

@ -467,7 +467,7 @@ class WebSocketClinet:
if self.interrupt_event.is_set(): if self.interrupt_event.is_set():
print(f"{datetime.now()}: button interrupt.") print(f"{datetime.now()}: button interrupt.")
time.sleep(0.1) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题 time.sleep(0.2) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题
while not self.audio_play_queue.empty(): # 清空队列 while not self.audio_play_queue.empty(): # 清空队列
self.audio_play_queue.get() self.audio_play_queue.get()
@ -483,7 +483,8 @@ class WebSocketClinet:
else: else:
# 播放最后一段音频 # 播放最后一段音频
audio_player.stream.write(tts_audio[i+audio_player.CHUNK:]) audio_player.stream.write(tts_audio[i+audio_player.CHUNK:])
audio_list.pop(0) # 弹出第一个音频 audio_list = [] # 清空音频列表
# audio_list.pop(0) # 弹出已播放音频
print(f"{datetime.now()}: audio data played.") print(f"{datetime.now()}: audio data played.")
except TypeError as e: except TypeError as e:
print(f"audio play error: {e}") print(f"audio play error: {e}")
@ -494,12 +495,14 @@ class WebSocketClinet:
print(f"data_type: {data_type}") print(f"data_type: {data_type}")
if self.wakeup_event.is_set(): if self.wakeup_event.is_set():
if data_type == 'text': if data_type == 'text':
if self.wakeup_event.is_set():
# 切换播放模式 # 切换播放模式
self.listening_event.clear() self.listening_event.clear()
self.speaking_event.set() self.speaking_event.set()
if data_type in ['close', 'end']: if data_type in ['close', 'end']:
# 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题 # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题
time.sleep(0.2) time.sleep(0.2)
if self.wakeup_event.is_set():
# 启动监听状态 # 启动监听状态
self.speaking_event.clear() self.speaking_event.clear()
self.listening_event.set() self.listening_event.set()