yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/dal/dataobject/voices/AuditionVO.java
@@ -8,7 +8,11 @@ */ @Data public class AuditionVO { //口播内容 private String text; //数字人ID private String humanId; //声音模型ID private String voiceId; } yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java
@@ -110,10 +110,16 @@ boolean success; List<String> videoUrls = new ArrayList<>(); AuditionVO auditionVO = new AuditionVO(); auditionVO.setHumanId(String.valueOf(digitalHumansDO.getId())); // auditionVO.setVoiceId(String.valueOf(digitalHumansDO.getId())); for (AppCourseScenesMegerReqVO scene : scenes) { //TODO 先判断是否有备注内容 auditionVO.setText(scene.getBackground().getPptRemark()); if (scene.getVoice().getVoiceId() == null){ auditionVO.setHumanId(String.valueOf(digitalHumansDO.getId())); }else{ auditionVO.setVoiceId(String.valueOf(scene.getVoice().getVoiceId())); } String audition = serviceImpl.audition(auditionVO); // 提取音频文件名(路径的最后一部分) String substring = configApi.getConfigValueByKey("easegen.url") + audition.substring(audition.lastIndexOf("/")); yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/voices/VoicesServiceImpl.java
@@ -137,12 +137,18 @@ private static final String HEYGEM_CORE_URL = "heygem.core.url"; @Override public String audition(AuditionVO auditionVO) { DigitalHumansDO digitalHumansDO = digitalHumansMapper.selectById(auditionVO.getHumanId()); InvokeVO invokeVO = new InvokeVO(); invokeVO.setSpeaker(InvokeVO.generateUUID()); invokeVO.setText(auditionVO.getText()); if (auditionVO.getVoiceId() == null) { DigitalHumansDO digitalHumansDO = digitalHumansMapper.selectById(auditionVO.getHumanId()); invokeVO.setReferenceText(digitalHumansDO.getReferenceAudioText()); invokeVO.setReferenceAudio(digitalHumansDO.getAsrFormatAudioUrl()); invokeVO.setText(auditionVO.getText()); }else if (auditionVO.getHumanId() == null){ VoicesDO voicesDO = voicesMapper.selectById(auditionVO.getVoiceId()); invokeVO.setReferenceText(voicesDO.getReferenceAudioText()); invokeVO.setReferenceAudio(voicesDO.getAsrFormatAudioUrl()); } ObjectMapper objectMapper = new ObjectMapper(); String jsonString = null; try {