2015-02-25 20 views
8

Najpierw chcę omówić scenariusz w postaci snapchat.Umożliwia odtwarzanie muzyki podczas nagrywania wideo, takiego jak snapchat ios

W snapchacie po rozpoczęciu nagrywania wideo i utworu działa w tle; Pozwala na kontynuowanie tej piosenki podczas nagrywania wideo, a po nagraniu tego filmu można również usłyszeć tę piosenkę w tle.

Używam SCRecorder do nagrywania wideo i przechwytywania obrazu za pomocą mojego układu niestandardowego. Teraz chcę zrobić tak jak powyżej scenariusz, ale problem jest, ilekroć zacznę nagrywać wideo w tle utworu jest zatrzymany.

Urządzenie SCRecorder używa AVCaptureSession do nagrywania wideo.

Więc jak mogę rozwiązać ten problem: dwa

  1. Zezwalaj podkład muzyczny whiile nagrywania wideo za pomocą SCRecorder.
  2. Nagraj utwór odtwarzany w tle w wideo.
+0

Czy rozwiązałeś problem za pomocą SCRecorder? Robię to samo i potrafię grać muzykę w tle. ale moim problemem jest to, kiedy otwieram/zamykam aplikację, muzyka zatrzymuje się na sekundę, a następnie automatycznie uruchamia się ponownie. Chociaż nie chcę zatrzymać muzyki nawet na sekundę. – Surjeet

+0

no @Surjeet. Wciąż szukam odpowiedzi. Jeśli coś znajdziesz, daj mi znać. – KDeogharkar

+0

Tak, zrobiłem to i umożliwiłem nagrywanie i odtwarzanie muzyki w tle jednocześnie. ale daje mi 1 sekundę pauzy i restartuje się automatycznie. Jeśli chcesz tego samego, mogę ci pomóc. – Surjeet

Odpowiedz

12

Oto, co umożliwiłem odtwarzanie muzyki w tle za pomocą biblioteki SCRecorder. Mam nadzieję, że ta pomoc również dla Ciebie.

napisać ten kod w swojej klasie AppDelegate w terminie didFinishLaunchingWithOptions metoda -

AVAudioSession *session = [AVAudioSession sharedInstance]; 
    [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth error:nil]; 

    [session setActive:YES error:nil]; 

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

Po tym zapisie poniżej linii SCRecorder libaray za 'SCRecorder.m' pliku ciągu przygotować metoda po inicjalizacji AVCaptureSession.

session.automaticallyConfiguresApplicationAudioSession = NO; 

Jeśli nie jesteś użytkownikiem biblioteki SCRecorder, napisz powyższą linię zaraz po zainicjowaniu AVCaptureSession w swojej klasie.

+0

najlepsza odpowiedź na zewnątrz! działa dobrze na iOS10. chciałbym zrozumieć, jeśli "[[UIApplication sharedApplication] beginReceivingRemoteControlEvents;" i dlaczego ważne są zdalne zdarzenia kontrolne. – philouuuu