SofyaTranscriber
A classe principal para manipulação de operações de transcrição.
Construtor
new SofyaTranscriber(connection: Connection)
Cria uma nova instância do serviço de transcrição com um objeto de conexão.
Métodos
-
startTranscription(mediaStream: MediaStream): void Inicia o processo de transcrição com um
MediaStreamfornecido. -
stopTranscription(): Promise< void > Para o processo de transcrição de forma assíncrona. Retorna uma Promise que é resolvida quando a finalização é concluída. Você deve usar
awaitou.then(). -
pauseTranscription(): void Pausa o processo de transcrição.
-
resumeTranscription(): void Retoma o processo de transcrição.
-
on(event: string, callback: Function): this Registra um manipulador de eventos para eventos de transcrição.
-
getSttSessionId(): string | null Retorna o identificador da conexão de transcrição atual.
nullaté a primeira mensagem de transcrição, ou contra servidores que não o enviam. -
getSttSessionIds(): string[] Retorna todos os identificadores de conexão desta transcrição, em ordem, desde a última chamada a
startTranscription(). Zera na próxima chamada astartTranscription().
Eventos
O SDK emite os seguintes eventos:
-
recognizing: Disparado quando a transcrição está em andamento. -
recognized: Disparado quando a transcrição está completa. -
error: Disparado quando ocorre um erro. -
ready: Disparado quando o serviço de transcrição está pronto para iniciar. -
stopped: Disparado quando o processo de transcrição é interrompido. -
connected: Disparado quando o serviço de transcrição está conectado ao provedor. -
stt_session: Disparado quando o servidor informa o identificador da conexão de transcrição — na primeira mensagem de transcrição, e novamente a cada reconexão em que o identificador muda.transcriber.on("stt_session", ({ sttSessionId, externalId, connectionAttempt }) => {
// sttSessionId: UUID da conexão, dado pelo servidor
// externalId: o external_id configurado, ou null
// connectionAttempt: 1 na primeira conexão, 2 na primeira reconexão…
});- Dispara uma vez por conexão: uma sessão com duas reconexões produz três eventos com três ids distintos.
- Chega com a primeira mensagem de transcrição (depende de áudio); não é um evento de handshake. Nada no SDK espera por ele.
- Contra um servidor que não envie o identificador, o evento nunca dispara e nada mais muda.
sttSessionIdnão significa que a sessão está sendo gravada. Ele identifica a conexão; gravar é decisão derecorde do ambiente.
Tipos
SttSessionInfo
Payload do evento stt_session.
interface SttSessionInfo {
sttSessionId: string;
externalId: string | null;
connectionAttempt: number;
}