2015-02-28 14 views
6

Próbuję dodać wejście audio do mojego AVCaptureSession() i działa świetnie. Chciałbym jednak również wspierać użytkowników, którzy chcą odtwarzać muzykę w tle z innych aplikacji, takich jak Spotify, i utrzymywać tę ścieżkę audioInput dla mojego nagrania. Jak to jest możliwe?Jak dodać wejście audio do AVCaptureSession i zezwolić innym aplikacjom na odtwarzanie muzyki w tle

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) 
     } 
+1

ja przyszedłem tutaj, aby dowiedzieć się, jak dodać audio do mojego nagrania wideo. twoje pytanie już rozwiązało mój problem. dzięki! ;) – datayeah

+0

@jz znalazłeś rozwiązanie? –

Odpowiedz

0

Kategoria AVAudioSessionCategoryPlayback to jedna z niewielu kategorii, które pozwalają na tworzenie tła. Opcja AVAudioSessionCategoryOptionMixWithOthers zapewni, że dźwięk nie zatrzyma żadnego aktualnie odtwarzanego dźwięku w tle, a także upewni się, że gdy użytkownik odtwarza muzykę w przyszłości, nie rozpocznie zadania w tle.

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

Może to być pomocne

Powiązane problemy