diff --git a/takway/clients/web_socket_client_utils.py b/takway/clients/web_socket_client_utils.py index f3f122f..c02dcd4 100644 --- a/takway/clients/web_socket_client_utils.py +++ b/takway/clients/web_socket_client_utils.py @@ -328,12 +328,17 @@ class WebSocketClinet: # 第一级:唤醒状态下,连接服务器 if self.wakeup_event.is_set(): client.wakeup_client() - clear_queue_flag = False else: print(f"not wake up, skip setup web socket connection.") self.client_queue.get(block=False) continue + # 播放状态下,不连接服务器 + if self.speaking_event.is_set(): + print(f"speaking, skip setup web socket connection.") + self.client_queue.get(block=False) + continue + # 发送数据 for queue_data in QueueIterator(self.client_queue): # 发送音频数据 @@ -396,6 +401,8 @@ class WebSocketClinet: # 切换播放模式 self.listening_event.clear() self.speaking_event.set() + if response['type'] == 'close': + break elif data_type == bytes: # 开始播放 print(f"{datetime.now()}: receive audio data")