Uso
El SDK Sofya Transcription proporciona una solución robusta y flexible para la transcripción de audio en tiempo real. Esta guía le ayudará a comenzar a usar el SDK en sus proyectos.
Nota de migración
¿Qué cambió?
- El método
stopTranscriptionahora es asíncrono y devuelve unaPromise<void>. - Ahora debe usar
awaito.then()al llamar astopTranscriptionpara asegurarse de que el proceso de transcripción se detenga completamente antes de continuar.
¿Por qué se cambió?
- Este cambio garantiza que todas las operaciones de limpieza (como finalizar transcripciones en curso) se completen antes de que su código continúe. Previene condiciones de carrera y fugas de recursos que podrían ocurrir si el método fuera síncrono.
Cómo migrar
Antes:
transcriber.stopTranscription();
// Continuar inmediatamente con otra lógica
Después:
await transcriber.stopTranscription();
// o
transcriber.stopTranscription().then(() => {
// Continuar con otra lógica
});
Ejemplo en React:
const stopTranscription = async () => {
if (transcriber.current) {
await transcriber.current.stopTranscription();
transcriber.current = null;
}
};
Acción requerida
- Actualice todos los usos de
stopTranscriptionen su base de código para manejar la Promise devuelta. - Si utiliza este método dentro de controladores de eventos o componentes React, haga que el controlador sea
asyncy useawait.
Resumen:
stopTranscription ahora es asíncrono. Siempre utilice await o .then() para asegurar una limpieza adecuada. Este cambio mejora la confiabilidad y la gestión de recursos en sus flujos de trabajo de transcripción.
Uso Básico
Aquí hay un ejemplo básico de cómo usar Sofya Transcription en su proyecto:
-
Importe la Biblioteca:
import { MediaElementAudioCapture, SofyaTranscriber } from 'sofya.transcription'; -
Cree una Instancia del Servicio de Transcripción:
// Usando conexión con clave de API
const transcriber = new SofyaTranscriber({
apiKey: 'SU_CLAVE_API',
config: {
language: 'es-419'
}
});
// O usando un proveedor específico
const transcriber = new SofyaTranscriber({
provider: 'sofya_compliance',
endpoint: 'SU_ENDPOINT',
config: {
language: 'es-419',
token: 'SU_TOKEN',
compartmentId: 'SU_COMPARTMENT_ID',
region: 'SU_REGION'
}
}); -
Inicialice e Inicie la Transcripción:
// Espere a que el transcriber esté listo
transcriber.on('ready', () => {
// Obtenga el flujo de medios
navigator.mediaDevices.getUserMedia({ audio: true })
.then(mediaStream => {
// Inicie la transcripción
transcriber.startTranscription(mediaStream);
})
.catch(error => {
console.error('Error al acceder al micrófono:', error);
});
}); -
Gestione Eventos de Transcripción:
transcriber.on('recognizing', (text) => {
console.log('Reconociendo: ' + text);
});
transcriber.on('recognized', (text) => {
console.log('Reconocido: ' + text);
});
transcriber.on('error', (error) => {
console.error('Error en la transcripción:', error);
});
transcriber.on('stopped', () => {
console.log('Transcripción detenida');
});