fix: 播放音乐时,引导词卡顿

This commit is contained in:
Sakura-RanChen
2025-07-04 11:27:49 +08:00
parent 69cac9d40a
commit 7e5a2b4549
3 changed files with 16 additions and 10 deletions
@@ -362,9 +362,7 @@ class TTSProviderBase(ABC):
return audio_datas return audio_datas
def _process_before_stop_play_files(self): def _process_before_stop_play_files(self):
for tts_file, text in self.before_stop_play_files: for audio_datas, text in self.before_stop_play_files:
if tts_file and os.path.exists(tts_file):
audio_datas = self._process_audio_file(tts_file)
self.tts_audio_queue.put((SentenceType.MIDDLE, audio_datas, text)) self.tts_audio_queue.put((SentenceType.MIDDLE, audio_datas, text))
self.before_stop_play_files.clear() self.before_stop_play_files.clear()
self.tts_audio_queue.put((SentenceType.LAST, [], None)) self.tts_audio_queue.put((SentenceType.LAST, [], None))
@@ -1,3 +1,4 @@
import os
import uuid import uuid
import json import json
import queue import queue
@@ -245,8 +246,11 @@ class TTSProvider(TTSProviderBase):
logger.bind(tag=TAG).info( logger.bind(tag=TAG).info(
f"添加音频文件到待播放列表: {message.content_file}" f"添加音频文件到待播放列表: {message.content_file}"
) )
if message.content_file and os.path.exists(message.content_file):
# 先处理文件音频数据
file_audio = self._process_audio_file(message.content_file)
self.before_stop_play_files.append( self.before_stop_play_files.append(
(message.content_file, message.content_detail) (file_audio, message.content_detail)
) )
if message.sentence_type == SentenceType.LAST: if message.sentence_type == SentenceType.LAST:
@@ -1,3 +1,4 @@
import os
import queue import queue
import asyncio import asyncio
import traceback import traceback
@@ -63,8 +64,11 @@ class TTSProvider(TTSProviderBase):
logger.bind(tag=TAG).info( logger.bind(tag=TAG).info(
f"添加音频文件到待播放列表: {message.content_file}" f"添加音频文件到待播放列表: {message.content_file}"
) )
if message.content_file and os.path.exists(message.content_file):
# 先处理文件音频数据
file_audio = self._process_audio_file(message.content_file)
self.before_stop_play_files.append( self.before_stop_play_files.append(
(message.content_file, message.content_detail) (file_audio, message.content_detail)
) )
if message.sentence_type == SentenceType.LAST: if message.sentence_type == SentenceType.LAST: