from enum import Enum from typing import Union, Optional class SentenceType(Enum): # 说话阶段 FIRST = "FIRST" # 首句话 MIDDLE = "MIDDLE" # 说话中 LAST = "LAST" # 最后一句 class ContentType(Enum): # 内容类型 TEXT = "TEXT" # 文本内容 FILE = "FILE" # 文件内容 ACTION = "ACTION" # 动作内容 class InterfaceType(Enum): # 接口类型 DUAL_STREAM = "DUAL_STREAM" # 双流式 SINGLE_STREAM = "SINGLE_STREAM" # 单流式 NON_STREAM = "NON_STREAM" # 非流式 class TTSMessageDTO: def __init__( self, sentence_id: str, # 说话阶段 sentence_type: SentenceType, # 内容类型 content_type: ContentType, # 内容详情,一般是需要转换的文本或者音频的歌词 content_detail: Optional[str] = None, # 如果内容类型为文件,则需要传入文件路径 content_file: Optional[str] = None, ): self.sentence_id = sentence_id self.sentence_type = sentence_type self.content_type = content_type self.content_detail = content_detail self.content_file = content_file