diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 3e9cffe..14db11e 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -269,8 +269,8 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { } }else if(EnumVoiceFrom.FROM_UPD.getCode().equals(voiceFrom)){ voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); + VoiceMaterial voiceMaterial = voiceMaterialService.getById(photoSpeakVideo.getVoiceMaterialId()); if(StringUtils.isBlank(voiceMaterialUrl)){ - VoiceMaterial voiceMaterial = voiceMaterialService.getById(photoSpeakVideo.getVoiceMaterialId()); voiceMaterialService.handVideoUrl(voiceMaterial); voiceMaterialUrl = voiceMaterial.getMaterial(); videoUpd.setVoiceMaterialUrl(voiceMaterialUrl); @@ -280,7 +280,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { } //判断用户时长是否够创建该视频 - VideUploadResult videoDetail = videoFactory.getExcutor(videoType).getVideoDetailWithCache(photoSpeakVideo.getVideoId()); + VideUploadResult videoDetail = videoFactory.getExcutor(videoType).getVideoDetailWithCache(voiceMaterial.getVideoId()); if (videoDetail.isSuccess() && StringUtils.isNotBlank(videoDetail.getDuration()) && !"0.0".equals(videoDetail.getDuration())) { String duration = videoDetail.getDuration(); videoTime = Double.valueOf(duration); @@ -364,12 +364,15 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { try { AiPhotoSpeakParam param = new AiPhotoSpeakParam(); param.setImg(Base64Util.imageUrlToBase64(photoSpeakVideo.getPersonPhotoUrl())); - param.setVoice_id(voiceMouldSmId); + param.setVoice_id(voiceMouldSmId == null ? "default" : voiceMouldSmId); String voiceMouldSm = photoSpeakVideo.getVoiceMouldSm(); - JSONObject jsonObject = JSON.parseObject(voiceMouldSm); - Integer speakType = jsonObject.getInteger("speakType"); - param.setVoice_style(StringUtils.isBlank(voiceType) ? "default" : EnumSpeakType.getEnum(speakType).getType()); + Integer speakType = 0; + if (!StringUtils.isBlank(voiceMouldSm)) { + JSONObject jsonObject = JSON.parseObject(voiceMouldSm); + speakType = jsonObject.getInteger("speakType"); + } + param.setVoice_style(EnumSpeakType.getEnum(speakType).getType()); if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(paperwork.replaceAll(str, "[*]")); diff --git a/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java b/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java index 0cfed01..7405a5e 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java +++ b/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java @@ -181,8 +181,13 @@ public class AiVideoHelper { JSONObject jsonObject = JSON.parseObject(response); JSONObject status = jsonObject.getJSONObject("status"); JSONObject data = jsonObject.getJSONObject("data"); - String strURL = data.getString("url"); - String time = data.getString("time"); + String strURL = null; + String time = null; + if (data != null){ + strURL = data.getString("url"); + time = data.getString("time"); + } + Integer code = status.getInteger("code"); String msg = status.getString("msg"); if (code == null) { @@ -245,9 +250,9 @@ public class AiVideoHelper { // AiPreviewParam param = new AiPreviewParam(); param.setGen_txt("今天是个好日子"); - param.setVoice_id("zh-CN-YunyangNeural"); + param.setVoice_id("ar-DZ-AminaNeural"); param.setVoice_style("default"); - param.setGender("male"); + param.setGender("female"); AiPreviewResult result = AiVideoHelper.voicePreview(param); System.out.println(result); } diff --git a/suimangService/src/main/resources/mapper/UserCreateVideoNumMapper.xml b/suimangService/src/main/resources/mapper/UserCreateVideoNumMapper.xml index bbff9fa..d082fd6 100644 --- a/suimangService/src/main/resources/mapper/UserCreateVideoNumMapper.xml +++ b/suimangService/src/main/resources/mapper/UserCreateVideoNumMapper.xml @@ -7,12 +7,12 @@ UPDATE user_create_video_num --- residue_credits = #{createVideoNum.residueCredits} - #{useCredit}, + create_num = #{createVideoNum.createNum} + 1, create_all_time = #{createVideoNum.createAllTime} + #{time} --- residue_credits = #{createVideoNum.residueCredits} + #{useCredit}, + create_num = #{createVideoNum.createNum} - 1, create_all_time = #{createVideoNum.createAllTime} - #{time}