ai-service-hub/src/test/java/com/supervision/ai/service/hub/HeygemApiServiceTest.java

67 lines
3.4 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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