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
MediaStreamproporcionado. -
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
awaito.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.
nullhasta 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 astartTranscription().
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
sttSessionIdno significa que la sesión se esté grabando. Identifica la conexión; grabar depende derecordy del entorno.
Tipos
SttSessionInfo
Payload del evento stt_session.
interface SttSessionInfo {
sttSessionId: string;
externalId: string | null;
connectionAttempt: number;
}