Saltar al contenido principal
Version: 0.0.16

SofyaTranscriber

La clase principal para manejar operaciones de transcripción.

Constructor

new SofyaTranscriber(connection: Connection)

Crea una nueva instancia del servicio de transcripción con un objeto de conexión.

Métodos

  • startTranscription(mediaStream: MediaStream): void Inicia el proceso de transcripción con un MediaStream proporcionado.

  • stopTranscription(): Promise< void > Detiene el proceso de transcripción de forma asíncrona. Devuelve una Promise que se resuelve cuando la finalización está completa. Debe usar await o .then().

  • pauseTranscription(): void Pausa el proceso de transcripción.

  • resumeTranscription(): void Reanuda el proceso de transcripción.

  • on(event: string, callback: Function): this Registra un manejador de eventos para eventos de transcripción.

  • getSttSessionId(): string | null Devuelve el identificador de la conexión de transcripción actual. null hasta el primer mensaje de transcripción, o frente a servidores que no lo envían.

  • getSttSessionIds(): string[] Devuelve todos los identificadores de conexión de esta transcripción, en orden, desde la última llamada a startTranscription(). Se reinicia en la siguiente llamada a startTranscription().

Eventos

El SDK emite los siguientes eventos:

  • recognizing: Se dispara cuando la transcripción está en progreso.

  • recognized: Se dispara cuando la transcripción está completa.

  • error: Se dispara cuando ocurre un error.

  • ready: Se dispara cuando el servicio de transcripción está listo para iniciar.

  • stopped: Se dispara cuando el proceso de transcripción se detiene.

  • connected: Se dispara cuando el servicio de transcripción está conectado al proveedor.

  • stt_session: Se dispara cuando el servidor informa el identificador de la conexión de transcripción — en el primer mensaje de transcripción, y de nuevo en cada reconexión en la que el identificador cambia.

    transcriber.on("stt_session", ({ sttSessionId, externalId, connectionAttempt }) => {
    // sttSessionId: UUID de la conexión, asignado por el servidor
    // externalId: el external_id configurado, o null
    // connectionAttempt: 1 en la primera conexión, 2 en la primera reconexión…
    });
    • Se dispara una vez por conexión: una sesión con dos reconexiones produce tres eventos con tres ids distintos.
    • Llega con el primer mensaje de transcripción (depende del audio); no es un evento de handshake. Nada en el SDK espera a que ocurra.
    • Frente a un servidor que no envíe el identificador, el evento nunca se dispara y nada más cambia.
    • Recibir sttSessionId no significa que la sesión se esté grabando. Identifica la conexión; grabar depende de record y del entorno.

Tipos

SttSessionInfo

Payload del evento stt_session.

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