|
|
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));
|
|
|
}
|
|
|
}
|