From a5e4aa13005a838e48f69245dcb7e24791cf0869 Mon Sep 17 00:00:00 2001 From: Chingfeng Li Date: Tue, 18 Nov 2025 14:37:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=AF=AD=E9=9F=B3=E5=8C=85?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=9B=B4=E6=96=B0client=5Fis=5Fspeaking?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/core/handle/sendAudioHandle.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main/xiaozhi-server/core/handle/sendAudioHandle.py b/main/xiaozhi-server/core/handle/sendAudioHandle.py index aa11ebb2..66e52c51 100644 --- a/main/xiaozhi-server/core/handle/sendAudioHandle.py +++ b/main/xiaozhi-server/core/handle/sendAudioHandle.py @@ -145,6 +145,7 @@ async def sendAudio(conn, audios, frame_duration=60): else: # 直接发送opus数据包,不添加头部 await conn.websocket.send(audios) + conn.client_is_speaking = True # 更新流控状态 flow_control["packet_count"] += 1 @@ -168,6 +169,7 @@ async def sendAudio(conn, audios, frame_duration=60): else: # 直接发送预缓冲包,不添加头部 await conn.websocket.send(audios[i]) + conn.client_is_speaking = True remaining_audios = audios[pre_buffer_frames:] # 播放剩余音频帧 @@ -201,6 +203,8 @@ async def sendAudio(conn, audios, frame_duration=60): # 直接发送opus数据包,不添加头部 await conn.websocket.send(opus_packet) + conn.client_is_speaking = True + play_position += frame_duration @@ -255,5 +259,4 @@ async def send_stt_message(conn, text): await conn.websocket.send( json.dumps({"type": "stt", "text": stt_text, "session_id": conn.session_id}) ) - conn.client_is_speaking = True await send_tts_message(conn, "start")