fix(frontend): #1898 配音库AI配音增加情绪语言选择

- TTS 弹窗新增情绪下拉(自然/兴奋/沉稳/亲切,默认自然)和语言下拉(中文/英文/日文/韩文,默认中文)
- 新增 EmotionControl、LanguageControl 组件,与 SpeedControl 风格一致(tts-modal 目录下)
- useTtsSynthesize hook 管理 emotion/language 状态,关闭弹窗时重置
- synthesizeSpeech 请求真实传递 emotion 和 language 参数到后端
- VoiceModals/VoiceLibrary 全链路透传新增 props
- api/tts/types 的 TTSSynthesizeRequest 和 TTSPreviewRequest 补充 emotion/language 类型
This commit is contained in:
saas-frontend-agent
2026-09-14 17:50:17 +08:00
parent ceba97182a
commit cbb00fbf78
@@ -1,5 +1,6 @@
import { type PresetVoiceDisplay } from "@/pages/voices/types"
import type { TtsClonedVoiceOption } from "./VoiceSelector"
import type { TtsEmotion, TtsLanguage } from "./constants"
export type TtsStatus = "idle" | "synthesizing" | "done" | "error"
@@ -8,6 +9,8 @@ export interface TtsModalProps {
ttsText: string
ttsVoiceId: string
ttsSpeed: number
ttsEmotion: TtsEmotion
ttsLanguage: TtsLanguage
ttsStatus: TtsStatus
ttsAudioUrl: string | null
ttsError: string | null
@@ -18,6 +21,8 @@ export interface TtsModalProps {
onTextChange: (text: string) => void
onVoiceChange: (voiceId: string) => void
onSpeedChange: (speed: number) => void
onEmotionChange: (emotion: TtsEmotion) => void
onLanguageChange: (language: TtsLanguage) => void
onSynthesize: () => void
onSave: () => void
}