Jak rozwiązać konflikt AVCaptureSession v AVAudioSession w iOS?
Próbuję uruchomić AVCaptureSession w kontrolerze widoku, ale w ramach tego samego wywołuję również funkcję z biblioteki, która używa AVAudioSession. Wydaje mi się, że nie mogę uzyskać wielu informacji z debugera, poza tym, że zawiesza się dokładnie wtedy, gdy nazywam tę konkretną funkcję biblioteki. Biblioteka to libpd:
i wywołuje AVAudioSession jako sharedInstance. Nazywam libpd jako:
<code>[self.audioController configurePlaybackWithSampleRate:44100 numberChannels:2 inputEnabled:YES mixingEnabled:YES] </code>
więc miksowanie jest włączone, ale na wszelki wypadek przekompilowałem go tak, aby podczas pracy:
<code> UInt32 doSetProperty = 1; AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(doSetProperty), &doSetProperty); </code>
ale nie ma szczęścia. Przeniesienie wywołań do libpd do viewWillAppear w kontrolerze widoku również nie działało. Jednakże, jeśli biorę kod, który wywołuje libpd z mojego viewcontrollera i umieszczam go w delegacie aplikacji wewnątrz didFinishLaunchingWithOptions, to zaczyna się dobrze, a obie sesje wydają się współistnieć bez awarii.
Czy brakuje mi czegoś o AVCaptureSession i miksowaniu? Jak przejść do współistnienia obu sesji? Nie używam AVCapture do przechwytywania dźwięku, tylko wejście do kamery, więc nie powinienem być w stanie jakoś się obudzić?