package com.supervision.ai.service.hub; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.supervision.ai.service.hub.dto.heygem.*; import com.supervision.ai.service.hub.service.HeygemApiService; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @Slf4j @SpringBootTest public class HeygemApiServiceTest { @Autowired private HeygemApiService heygemApiService; @Test public void preprocessAndTranTest() { TranReqDTO tranReqDTO = new TranReqDTO(); tranReqDTO.setFormat("wav"); tranReqDTO.setLang("zh"); tranReqDTO.setReference_audio("origin_audio/format_20250325102100472.wav"); TranResDTO test = heygemApiService.preprocessAndTran(tranReqDTO); log.info("preprocessAndTranTest:{}", JSONUtil.toJsonStr(test)); // {"code":0,"msg":"success","reference_audio_text":"爸爸鱼竿女主我爱爸爸爱办法,而我爱不如果播放奥特曼二就别把爱来。嗯,我看18.5 啊,75 ,为啥不是真的想得爱的,是是空与佛,你在干什么?徒儿不是就是穷,不是穷。","asr_format_audio_url":"/code/sessions/20250328/4c8a1e68fdc24e2f99480770b8a5a3d1/format_denoise_format_20250325102100472_part0.wav"} } @Test public void textToAudioTest() { TextToAudioReqDTO textToAudioReqDTO = new TextToAudioReqDTO(); textToAudioReqDTO.setSpeaker("zs"); textToAudioReqDTO.setText("你好,我是伏小羲"); textToAudioReqDTO.setReference_audio("/code/sessions/20250328/4c8a1e68fdc24e2f99480770b8a5a3d1/format_denoise_format_20250325102100472_part0.wav"); textToAudioReqDTO.setReference_text("爸爸鱼竿女主我爱爸爸爱办法,而我爱不如果播放奥特曼二就别把爱来。嗯,我看18.5 啊,75 ,为啥不是真的想得爱的,是是空与佛,你在干什么?徒儿不是就是穷,不是穷。"); TextToAudioResDTO textToAudioResDTO = heygemApiService.textToAudio(textToAudioReqDTO); if (StrUtil.equals("0",textToAudioResDTO.getStatusCode())){ String videoPath = "F:\\tmp\\heyGem\\test.wav"; log.info("textToAudioTest:正确响应回音频数据...音频保存位置:{}",videoPath); FileUtil.writeBytes(textToAudioResDTO.getAudio(), videoPath); }else { log.info("textToAudioTest:错误响应回音频数据,详情:{}",JSONUtil.toJsonStr(textToAudioResDTO)); } } @Test public void submitVideoGenerateTaskTest() { VideoGenerateReqDTO videoGenerateReqDTO = new VideoGenerateReqDTO(); videoGenerateReqDTO.setAudio_url("476154b5-2603-498f-aa6e-28fcbe7472b8_format.wav");// 存放在tmp目录下 videoGenerateReqDTO.setVideo_url("外国男主播.mp4"); videoGenerateReqDTO.setCode("123456789"); Response<Object> objectResponse = heygemApiService.submitVideoGenerateTask(videoGenerateReqDTO); log.info("submitVideoGenerateTaskTest:{}", JSONUtil.toJsonStr(objectResponse)); } @Test public void getTaskStatusTest() { Response<TaskStatusResDTO> taskStatusResDTOResponse = heygemApiService.queryTaskStatus("123456789"); log.info("getTaskStatusTest:{}", JSONUtil.toJsonStr(taskStatusResDTOResponse)); } }