Text to speech en iOS 7 con AVSpeechSynthesizer

| Última modificación: 24 de abril de 2024 | Tiempo de Lectura: 1 minutos

A falta de Siri o VoiceOver, para poder hacer escuchar y hablar nuestra app, buena es AVSpeechSynthesizer, una nueva clase del framework AVFoundation en iOS 7 que nos permite hacer el text to speech de una forma sencilla.

AVSpeechSynthesizer

Para hacer funcionar AVSpeechSynthesizer lo primero que necesitamos es crear una instancia de AVSpeechUtterance que contendrá el texto a ser hablado por el dispositivo. Con dicha clase también podremos controlar otras propiedades opciones como la velocidad o el tipo de voz (acento) entre otras. Para un funcionamiento básico bastaría con el siguiente código:

AVSpeechSynthesizer *synth = [AVSpeechSynthesizer new];

AVSpeechUtterance *utt = [[AVSpeechUtterance alloc] initWithString:@"Creando una instancia con new, a lo loco"];

[synth speakUtterance:utt];

Cuando enviamos el método speakUtterance el texto empezará a reproducirse inmediatamente, en caso de que hubiera algún texto siendo leído, permite encolar textos para ser leídos una vez finalice el actual. Podemos incluso darle unas pausas entre un texto y otro con las propiedades postUtteranceDelay preUtteranceDelay de la clase AVSpeechUtterance (que es la que va a contener el texto y las pijadas que le queramos poner).

Por supuesto podemos parar o pausar el speech con los métodos stopSpeakingAtBoundary o pauseSpeakingAtBoundary. Si nos suscribimos a su delegado, AVSpeechSynthesizerDelegate, seremos notificados cuando inicie, pare, reanude…

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado

KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.