@minto-ai/huoshan-tts
Version:
借助“火山引擎在线语音合成API”实现浏览器端“文本转语音
76 lines (75 loc) • 2.26 kB
TypeScript
import { default as ExecuteController } from '../../tts-controller';
import { 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;