ios - texto - leer pantalla iphone
iOS Texto a voz Api (4)
Desde iOS 7 tienes un nuevo TTS Api.
En el objetivo C
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Some text"];
[utterance setRate:0.2f];
[synthesizer speakUtterance:utterance];
En Swift
let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: "Some text")
utterance.rate = 0.2
También puede cambiar la voz de esta manera:
utterance.voice = AVSpeechSynthesisVoice(language: "fr-FR")
Y luego speek
En Swift 2
synthesizer.speakUtterance(utterance)
En Swift 3
synthesizer.speak(utterance)
No te olvides de import AVFoundation
Métodos útiles
Puede Parar o Pausar todo el habla usando estos dos métodos:
- (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;
- (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;
AVSpeechBoundary
indica si el discurso debe AVSpeechBoundaryImmediate
o detenerse inmediatamente ( AVSpeechBoundaryImmediate
) o debe pausar o detenerse después de la palabra que se está pronunciando actualmente ( AVSpeechBoundaryWord
).
Verifique el AVSpeechSynthesizer Doc
Parece que no puedo encontrar nada sobre esto. ¿Hay alguna clase de Siri o API en iOS7 que te permita hacer texto a voz? Todo lo que intento hacer es algo como lo siguiente:
[siriInstance say:@"This is a test"];
Y luego haz que Siri lo diga desde mi aplicación.
Parece que deberíamos ser capaces de hacer esto, ¿no? Parece una cosa trivial.
Esta es la respuesta de Ali ABBAS para su uso en un patio de juegos:
import UIKit
import AVKit
import AVFoundation
import PlaygroundSupport
var str = "Hello, playground"
let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: str)
utterance.rate = 0.4
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
//for playground only
let playerViewController = AVPlayerViewController()
PlaygroundPage.current.liveView = playerViewController.view
//
synthesizer.speak(utterance)
Nunca he hecho ningún trabajo específicamente con Siri. Puedo estar equivocado, pero creo que la integración con Siri es muy difícil usando API privadas.
Echaré un vistazo al marco de operaciones para IOS. He hecho un trabajo básico con esto en el pasado y hace reconocimiento de voz fuera de línea y sintetizado de voz / texto a voz
Espero que this te ayude