Pular para o conteúdo principal
Versão: 0.0.16

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 MediaStream fornecido.

  • 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 await ou .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. null até 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 a startTranscription().

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.
    • sttSessionId não significa que a sessão está sendo gravada. Ele identifica a conexão; gravar é decisão de record e do ambiente.

Tipos

SttSessionInfo

Payload do evento stt_session.

interface SttSessionInfo {
sttSessionId: string;
externalId: string | null;
connectionAttempt: number;
}