diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index dcf8ebf..8332831 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -312,8 +312,19 @@ public class UserLiveController extends BaseController { try{ speed = Integer.parseInt(speedStr); }catch(Exception e){} + + String pitchStr = params.get("pitch"); + Integer pitch = null; + try{ + pitch = Integer.parseInt(pitchStr); + }catch(Exception e){ + status.put("code", ErrorCode.SYS_PARAMETER_ERROR.getCode()); + status.put("msg", "pitch参数异常"); + resultMap.put("status", status); + return resultMap; + } - Map data = wxCVoiceService.voicePreview(voiceId,voiceStyle,text,speed); + Map data = wxCVoiceService.voicePreview(voiceId,voiceStyle,text,speed,pitch); if(data != null){ resultMap.put("data", data); diff --git a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java index 4c11bc3..d084099 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java @@ -13,6 +13,6 @@ public interface WxCVoiceService { List chooseType(Long id); - Map voicePreview(Long voiceId, String voiceStyle, String text, Integer speed); + Map voicePreview(Long voiceId, String voiceStyle, String text, Integer speed,Integer pitch); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java index 75e63e1..afa42e2 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java @@ -145,7 +145,7 @@ public class WxCVoiceServiceImpl implements WxCVoiceService { } @Override - public Map voicePreview(Long voiceId, String voiceStyle, String text, Integer speed) { + public Map voicePreview(Long voiceId, String voiceStyle, String text, Integer speed,Integer pitch) { VoiceInfo voiceInfo = voiceMapper.selectById(voiceId); if(voiceInfo == null){ logger.error("未查询到声音{}"+voiceId); @@ -157,6 +157,8 @@ public class WxCVoiceServiceImpl implements WxCVoiceService { param.setVoice_style(StringUtils.isBlank(voiceStyle) ? EnumSpeakType.default_0.getMessage() : voiceStyle); param.setGen_txt(text.replaceAll(Constant.text_pause, "[*]")); param.setSpeed(speed==null?100:speed); + param.setPitch(pitch); + param.setVoice_type(voiceInfo.getVoiceType()); AiPreviewResult aiTtsResult = AiTtsHelper.voicePreview(param); if(!aiTtsResult.isSuccess()){ logger.error("tts 预览失败{}"+aiTtsResult.getMsg()); diff --git a/suimangService/src/main/java/com/iformall/sm/AiPreviewParam.java b/suimangService/src/main/java/com/iformall/sm/AiPreviewParam.java index a27b5d1..525fbcb 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiPreviewParam.java +++ b/suimangService/src/main/java/com/iformall/sm/AiPreviewParam.java @@ -10,4 +10,6 @@ public class AiPreviewParam { private String gender; private int speed; private String token; + private int pitch; + private String voice_type; }