语气词处理
This commit is contained in:
@@ -205,31 +205,33 @@ public class ChatWebSocketHandler {
|
||||
@Override
|
||||
public void onMessage(String content) {
|
||||
log.info("返回AI结果:{}", content);
|
||||
String questionResult = cacheQuestionResult.get(session.getId());
|
||||
if(StrUtil.isEmpty(questionResult)){
|
||||
questionResult = content;
|
||||
}else{
|
||||
questionResult = questionResult + content;
|
||||
}
|
||||
cacheQuestionResult.put(session.getId(),questionResult);
|
||||
// 实时输出内容
|
||||
//开始进行语音输出-流式持续输出
|
||||
//把结果文字转成语音文件
|
||||
//生成文件
|
||||
//生成唯一文件名
|
||||
String resultFileName = clientId + "_" + System.currentTimeMillis() + ".wav";
|
||||
String resultPathUrl = RuoYiConfig.getProfile() + VOICE_STORAGE_RESULT_DIR + resultFileName;
|
||||
ElevenLabsClient elevenLabsClient = SpringUtils.getBean(ElevenLabsClient.class);
|
||||
elevenLabsClient.handleTextToVoice(content, resultPathUrl);
|
||||
//持续返回数据流给客户端
|
||||
try {
|
||||
//文件转换成文件流
|
||||
ByteBuffer outByteBuffer = convertFileToByteBuffer(resultPathUrl);
|
||||
//发送文件流数据
|
||||
session.getBasicRemote().sendBinary(outByteBuffer);
|
||||
// 发送响应确认
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
if(StrUtil.isNotEmpty(content)){
|
||||
String questionResult = cacheQuestionResult.get(session.getId());
|
||||
if(StrUtil.isEmpty(questionResult)){
|
||||
questionResult = content;
|
||||
}else{
|
||||
questionResult = questionResult + content;
|
||||
}
|
||||
cacheQuestionResult.put(session.getId(),questionResult);
|
||||
// 实时输出内容
|
||||
//开始进行语音输出-流式持续输出
|
||||
//把结果文字转成语音文件
|
||||
//生成文件
|
||||
//生成唯一文件名
|
||||
String resultFileName = clientId + "_" + System.currentTimeMillis() + ".wav";
|
||||
String resultPathUrl = RuoYiConfig.getProfile() + VOICE_STORAGE_RESULT_DIR + resultFileName;
|
||||
ElevenLabsClient elevenLabsClient = SpringUtils.getBean(ElevenLabsClient.class);
|
||||
elevenLabsClient.handleTextToVoice(content, resultPathUrl);
|
||||
//持续返回数据流给客户端
|
||||
try {
|
||||
//文件转换成文件流
|
||||
ByteBuffer outByteBuffer = convertFileToByteBuffer(resultPathUrl);
|
||||
//发送文件流数据
|
||||
session.getBasicRemote().sendBinary(outByteBuffer);
|
||||
// 发送响应确认
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user