AVSpeechSynthesizer en modo de fondo
No puedo hacer que iOS 7 AVSpeechSynthesizer
funcione cuando mi aplicación iOS está en modo de fondo. Agregué la tecla " La aplicación reproduce audio " a los modos de fondo admitidos por la aplicación, pero todavía no puedo hacer que funcione.
También investigué la posibilidad de crear un archivo AVMutableCompositionTrack
con una AVSpeechSynthesizer
expresión y luego, de alguna manera, reproducirlo con un reproductor que pudiera ejecutarse en segundo plano, pero sin suerte.
¿Alguien tuvo más suerte que yo al usarlo AVSpeechSynthesizer
en segundo plano?
- Debes configurar "Audio y AirPlay" en modos de fondo.
- Tienes que configurar la sesión de audio:
NSError *error = NULL;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:&error];
if(error) {
// Do some error handling
}
[session setActive:YES error:&error];
if (error) {
// Do some error handling
}
Para Swift 3, importe AVKit (o AVFoundation) y luego agregue
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
para verWillAppear(). Esto permite que el audio se reproduzca independientemente del estado del interruptor de silencio y en segundo plano con la pantalla apagada.
*Editar: AVAudioSession está definido en AVFoundation y también está disponible con AVKit
*Edición 2: captura de pantalla de autocompletar que muestra que AVAudioSession está disponible en AVKit