analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
50 lines • 1.8 kB
TypeScript
/**
* Voz disponível no provider de TTS.
*/
export interface TTSVoice {
/** Identificador único (ex.: voiceURI no caso da Web Speech API) */
id: string;
/** Nome amigável da voz (ex.: "Google português do Brasil") */
name: string;
/** Tag BCP47 do idioma (ex.: "pt-BR") */
lang: string;
/** Indica se a síntese roda 100% local (sem chamada de rede) */
isLocal: boolean;
}
export interface TTSSpeakOptions {
/** Voz a ser usada — se omitida, o provider escolhe (preferindo pt-BR) */
voiceId?: string;
/** Taxa de fala (1 = padrão, 0.5 = lento, 2 = rápido) */
rate?: number;
/** Tom (1 = padrão) */
pitch?: number;
/** Idioma alvo do trecho (BCP47) — usado quando a voz não cobre o idioma */
lang?: string;
}
export interface TTSProviderEvents {
onStart?: () => void;
onEnd?: () => void;
onPause?: () => void;
onResume?: () => void;
onError?: (message: string) => void;
}
/**
* Contrato do provider de Text-to-Speech. A lib fornece um
* `WebSpeechProvider` default; plataformas podem injetar um provider
* remoto (ex.: backend com Azure/Google) sem mudar a UI.
*/
export interface TTSProvider {
/** Indica se o provider funciona neste ambiente (ex.: API disponível). */
isSupported(): boolean;
/** Retorna a lista de vozes que o provider expõe. */
getVoices(): Promise<TTSVoice[]>;
/** Inicia a fala do texto informado. Cancela qualquer fala em andamento. */
speak(text: string, options?: TTSSpeakOptions, events?: TTSProviderEvents): void;
/** Pausa a fala atual (se suportado). */
pause(): void;
/** Continua a fala pausada. */
resume(): void;
/** Interrompe e descarta qualquer fala em curso. */
stop(): void;
}
//# sourceMappingURL=types.d.ts.map