package com.fs.aiSoundReplication.service;

import com.fs.aiSoundReplication.param.TtsRequest;
import com.fs.aiSoundReplication.param.TtsResponse;
import com.fs.fastgptApi.vo.AudioVO;
import org.springframework.core.io.Resource;

import java.io.File;
import java.io.IOException;

public interface TtsService {

    /**
     * 文本转语音
     * @param request TTS请求参数
     * @return TTS响应
     */
    AudioVO textToSpeech(TtsRequest request);

    /**
     * 简化版文本转语音
     * @param text 要合成的文本
     * @param voiceType 音色ID
     * @return TTS响应
     */
//    TtsResponse textToSpeech(String text, String voiceType);

    /**
     * 文本转语音并保存为文件
     * @param request TTS请求参数
     * @param savePath 保存路径
     * @return 保存的音频文件
     */
//    File textToSpeechAndSave(TtsRequest request, String savePath);

    /**
     * 文本转语音并获取字节数组
     * @param request TTS请求参数
     * @return 音频字节数组
     */
//    byte[] textToSpeechBytes(TtsRequest request);

    /**
     * 流式返回音频数据
     * @param request TTS请求参数
     * @return 音频资源
     */
//    String textToSpeechStream(TtsRequest request);

    /**
     * 批量文本转语音
     * @param texts 文本列表
     * @param voiceType 音色ID
     * @return 音频文件列表
     */
//    java.util.List<File> batchTextToSpeech(java.util.List<String> texts, String voiceType);
}
