diff --git a/takway/clients/web_socket_client_utils.py b/takway/clients/web_socket_client_utils.py index 7863f1c..202ed3c 100644 --- a/takway/clients/web_socket_client_utils.py +++ b/takway/clients/web_socket_client_utils.py @@ -463,12 +463,15 @@ class WebSocketClinet: # 按键打断播放 if self.interrupt_event.is_set(): print(f"{datetime.now()}: button interrupt.") - time.sleep(0.2) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题 + + time.sleep(0.1) # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题 + + 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 not self.speaking_event.is_set(): audio_list = [] # 清空音频列表 @@ -493,7 +496,7 @@ class WebSocketClinet: self.speaking_event.set() if data_type in ['close', 'end']: # 虽然程序到这里,但是扬声器不一定播放完毕,延迟用来避免问题 - time.sleep(0.8) + time.sleep(0.2) # 启动监听状态 self.speaking_event.clear() self.listening_event.set()