liusheng
2024-04-15 fdf1b9c1e4489a0c2615fa596268b2f71fad7b4c
smartor/src/main/java/com/smartor/service/impl/PersonVoiceServiceImpl.java
@@ -18,6 +18,7 @@
import com.aliyun.teautil.Common;
import com.aliyun.teautil.models.RuntimeOptions;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.smartor.domain.*;
import com.smartor.mapper.*;
@@ -90,9 +91,9 @@
    }
    @Override
    public String texttospeech(String textspeech) {
    public String texttospeech(String textspeech, String filePath) {
        this.accessToken();
        this.process2(textspeech);
        this.process2(textspeech, filePath);
        client.shutdown();
        return returnResult;
    }
@@ -399,11 +400,15 @@
    }
    private SpeechSynthesizerListener getSynthesizerListener() {
    private SpeechSynthesizerListener getSynthesizerListener(String filePath) {
        SpeechSynthesizerListener listener = null;
        try {
            if (StringUtils.isEmpty(filePath)) {
                filePath = "tts_test.wav";
            }
            String finalFilePath = filePath;
            listener = new SpeechSynthesizerListener() {
                File f = new File("tts_test.wav");
                File f = new File(finalFilePath);
                FileOutputStream fout = new FileOutputStream(f);
                private boolean firstRecvBinary = true;
@@ -449,11 +454,11 @@
    }
    public void process2(String text) {
    public void process2(String text, String filePath) {
        SpeechSynthesizer synthesizer = null;
        try {
            //创建实例,建立连接。
            synthesizer = new SpeechSynthesizer(client, getSynthesizerListener());
            synthesizer = new SpeechSynthesizer(client, getSynthesizerListener(filePath));
            synthesizer.setAppKey(appKey);
            //设置返回音频的编码格式
            synthesizer.setFormat(OutputFormatEnum.WAV);