UNPKG

@minto-ai/huoshan-tts

Version:

借助“火山引擎在线语音合成API”实现浏览器端“文本转语音

95 lines (75 loc) 2.21 kB
import type ExecuteController from '../../tts-controller' import type { TaskExecuteContext } from '../types' interface InterfaceHandler<O = unknown, R = unknown> { /** * 下一个处理器 * 链表中的下一个处理器,如果是链表中的最后一个处理器,则为null。 */ nextHandler: InterfaceHandler<R, unknown> | null /** * 上一个处理器 * 链表中的上一个处理器,如果是链表中的第一个处理器,则为null。 */ prevHandler: InterfaceHandler<unknown, O> | null /** * 当前处理器状态 */ handlerStatus: any /** * 设置处理器链表,用于设置上一个或者下一个处理器 * * @param handler 处理器 */ linkHandler: (handler: InterfaceHandler<R, unknown>) => void /** * 处理器是否首次执行任务 */ isFirstExecute: boolean /** * 处理器执行上下文 */ executeController: ExecuteController | null /** * 设置处理器执行上下文 * * @param executeController 执行上下文 */ setExecuteController: (executeController: ExecuteController) => void /** * 是否为第一个处理器 */ isFirstHandler: boolean /** * 是否为最后一个处理器 */ isLastHandler: boolean /** * 向处理器输入任务数据 * * @param original 任务数据 */ handle: (original: O | null) => void /** * 将处理结果传递给下一个处理器,当做下一个处理器的任务数据 */ forwardToHandler: (result: R) => void /** * 设置处理器的执行状态 */ setHandlerStatus: (status: any) => void /** * 判断当前处理器是否处于指定执行状态 */ equalHandlerStatus: (status: any) => boolean /** * 需要执行任务的具体逻辑 * * @param context 当前执行者数据上下文(任务数据、是否首次执行、是否最后一次执行) */ execute: (context: TaskExecuteContext) => void /** * 处理器是否接受上一个处理传递的数据完毕 */ isHandleDataAcceptedComplete: boolean } export default InterfaceHandler