You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
3.4 KiB
Java

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