AVSpeechSynthesizer en modo de background

No puedo hacer que iOS 7 AVSpeechSynthesizer funcione cuando mi aplicación iOS está en segundo plano. Agregué la key " App plays audio " a los modos de background compatibles de la aplicación, pero todavía no puedo hacer que funcione.

También he investigado la posibilidad de crear una AVMutableCompositionTrack , con un enunciado AVSpeechSynthesizer , y luego, de algún modo, jugarlo con un jugador que podría ejecutarse en segundo plano, pero sin suerte.

¿Alguien tuvo más suerte que yo al usar AVSpeechSynthesizer en segundo plano?

  1. Debe configurar "Audio y AirPlay" en los modos de background.
  2. Tienes que configurar la session de audio:
  NSError *error = NULL; AVAudioSession *session = [AVAudioSession shanetworkingInstance]; [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) luego agregue

 try? AVAudioSession.shanetworkingInstance().setCategory(AVAudioSessionCategoryPlayback) 

para ver WillAppear (). Esto permite que el audio se reproduzca independientemente del estado del interruptor de silencio y en segundo plano con la pantalla apagada.

* Editar: AVAudioSession se define en AVFoundation y también está disponible con AVKit