java字符串转语音文件_java - Java文字转语音(Spring Boot) - 堆栈内存溢出
我從事的項目是必須使用SpringBoot生成驗證碼。 我想要一個“文本到語音”功能,并且聲音文件必須使用SpringBoot生成(否則這將是一個巨大的安全問題)。
我生成了一個驗證碼圖像,并將其轉換為Base64String并將其發送給客戶端。 我使用了SimpleCaptcha。
我的問題是:我無法使用SimpleAudio生成具有相同隨機字符串的音頻文件。 它總是生成一個新的。 現在,我正在尋找一種解決方案-我只想生成一個與圖像中的字符串相同的音頻文件。
這是我的代碼:
這是驗證碼圖像:
@RestController
public class MyCaptchaController {
private String Captcha_Text;
TextProducer tp;
MyCaptcha cap = new MyCaptcha();
@GetMapping(value = "/getNewCaptcha")
public @ResponseBody MyCaptcha getNewCaptcha() throws IOException
{
Captcha captcha = new Captcha.Builder(200, 70)
.addText()
.addBackground(new FlatColorBackgroundProducer(new Color(231, 235, 240)))
.addNoise()
.addNoise()
.build(); // Required! Always!
System.out.println(captcha.getAnswer());
Captcha_Text = captcha.getAnswer();
String base64Captcha = imgToBase64String(captcha.getImage(), "jpeg");
System.out.println("Bild: " + base64Captcha);
cap.setText(base64Captcha);
cap.setKlartext(Captcha_Text);
return cap;
}
那應該是聲音(不起作用):
@RequestMapping(value = "/recfile", method = RequestMethod.GET,
produces = { MediaType.APPLICATION_OCTET_STREAM_VALUE })
public HttpEntity downloadRecipientFile(
ModelMap model, HttpServletResponse response) throws IOException,
ServletException {
AudioCaptcha ac = new AudioCaptcha.Builder()
.addAnswer()
.addNoise()
.build();
CaptchaServletUtil.writeAudio(response, ac.getChallenge());
HttpHeaders header = new HttpHeaders();
header.setContentType(new MediaType("audio", "vnd.wav"));
return new HttpEntity(ac.getChallenge().asByteArray(), header);
}
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的java字符串转语音文件_java - Java文字转语音(Spring Boot) - 堆栈内存溢出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存翻倍,速度飙升!全球最强Photos
- 下一篇: java中字符串的操作_java中字符串