Cómo agregar una input de audio a AVCaptureSession y permitir que otras aplicaciones reproduzcan música en segundo plano

Estoy tratando de agregar una input de audio a mi AVCaptureSession() y funciona muy bien. Sin embargo, también me gustaría apoyar a los usuarios que desean reproducir música en segundo plano desde otras aplicaciones como Spotify y mantener esta input de audio para mi grabación. ¿Cómo es esto posible?

 let captureSession = AVCaptureSession() let audioDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeAudio) audioInput = AVCaptureDeviceInput.deviceInputWithDevice(audioDevice, error:&err) as? AVCaptureDeviceInput if captureSession.canAddInput(videoCapture) { captureSession.addInput(videoCapture) // This line Kills spotify playing in the background captureSession.addInput(audioInput as AVCaptureInput) } 

La categoría AVAudioSessionCategoryPlayback es una de las pocas categorías que permiten el background. La opción AVAudioSessionCategoryOptionMixWithOthers se asegurará de que su audio no detendrá ningún audio de background actualmente en reproducción y también se asegurará de que cuando el usuario reproduzca música en el futuro, no inicie su tarea de background.

 try AVAudioSession.shanetworkingInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers) 

Tal vez esto sea útil