fix:播放音乐不会停

This commit is contained in:
lizhongxiang
2025-04-02 11:07:04 +08:00
parent 347fc4ca44
commit cd3e9ed494
3 changed files with 17 additions and 8 deletions
+3 -3
View File
@@ -199,9 +199,9 @@ class ConnectionHandler:
if self.private_config: if self.private_config:
self.prompt = self.private_config.private_config.get("prompt", self.prompt) self.prompt = self.private_config.private_config.get("prompt", self.prompt)
# self.client_ip_info = get_ip_info(self.client_ip) self.client_ip_info = get_ip_info(self.client_ip)
# self.logger.bind(tag=TAG).info(f"Client ip info: {self.client_ip_info}") self.logger.bind(tag=TAG).info(f"Client ip info: {self.client_ip_info}")
# self.prompt = self.prompt + f"\n我在:{self.client_ip_info}" self.prompt = self.prompt + f"\n我在:{self.client_ip_info}"
self.dialogue.put(Message(role="system", content=self.prompt)) self.dialogue.put(Message(role="system", content=self.prompt))
self.func_handler = FunctionHandler(self.config) self.func_handler = FunctionHandler(self.config)
@@ -98,11 +98,12 @@ class TTSProviderBase(ABC):
async def finish_session(self, session_id): async def finish_session(self, session_id):
pass pass
async def tts_one_sentence(self,text): async def tts_one_sentence(self, text, u_id=None):
uuid_str = str(uuid.uuid4()).replace("-", "") if not u_id:
self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.START_TTS_REQUEST, content='')) u_id = str(uuid.uuid4()).replace("-", "")
self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.TTS_TEXT_REQUEST, content=text)) self.tts.tts_text_queue.put(TTSMessageDTO(u_id=u_id, msg_type=MsgType.START_TTS_REQUEST, content=''))
self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.STOP_TTS_REQUEST, content=text)) self.tts.tts_text_queue.put(TTSMessageDTO(u_id=u_id, msg_type=MsgType.TTS_TEXT_REQUEST, content=text))
self.tts.tts_text_queue.put(TTSMessageDTO(u_id=u_id, msg_type=MsgType.STOP_TTS_REQUEST, content=text))
def _enable_two_way_tts(self): def _enable_two_way_tts(self):
while not self.stop_event.is_set(): while not self.stop_event.is_set():
@@ -196,6 +196,14 @@ async def play_local_music(conn, specific_file=None):
tts_finish_text="", sentence_type=None, duration=0 tts_finish_text="", sentence_type=None, duration=0
) )
) )
conn.tts.tts_audio_queue.put(
TTSMessageDTO(
u_id=conn.u_id, msg_type=MsgType.STOP_TTS_RESPONSE, content=[],
tts_finish_text='',
sentence_type=None
)
)
except Exception as e: except Exception as e:
logger.bind(tag=TAG).error(f"播放音乐失败: {str(e)}") logger.bind(tag=TAG).error(f"播放音乐失败: {str(e)}")