aplicación de iPhone permite música de fondo para seguir jugando

Cuando lance mi juego para iPhone tan pronto como se reproduce un sonido, la música de fondo o el podcast que se está reproduciendo se detienen. Noté que otros juegos permiten que el audio de fondo continúe sonando.

¿Cómo es esto posible? ¿Debo anular un método en mi delegado de la aplicación?

Coloque esta línea en su application:didFinishLaunchingWithOptions: método de su AppDelegate o en general antes de usar el reproductor de audio.

  [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 

De acuerdo con la documentación, la categoría AVAudioSessionCategoryAmbient es

para una aplicación en la que la reproducción de sonido no es primaria; es decir, su aplicación se puede usar correctamente con el sonido desactivado.

Esta categoría también es apropiada para aplicaciones de estilo “play along”, como un piano virtual que un usuario reproduce con audio de iPod. Cuando usa esta categoría, el audio de otras aplicaciones se mezcla con su audio. Su audio se silencia mediante el locking de pantalla y el interruptor silencioso (llamado el interruptor de timbre / silencio en el iPhone).

Si también quiere asegurarse de que no haya ocurrido ningún error, debe verificar el valor de retorno

 NSError *error; BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error]; if (!success) { //Handle error NSLog(@"%@", [error localizedDescription]); } else { // Yay! It worked! } 

Como observación final, no olvide vincular el marco de AVFoundation a su proyecto e importarlo.

 #import