2015-02-25 20 views
8

Per prima cosa desidero discutere lo scenario che si verifica in snapchat.Consente la riproduzione di musica durante la registrazione di video come snapchat ios

In snapchat quando si avvia la registrazione di video e la canzone è in esecuzione in background; Permette di continuare quella canzone durante la registrazione di video e dopo aver registrato quel video puoi anche ascoltare quella canzone sullo sfondo.

Sto usando SCRecorder per la registrazione di video e l'acquisizione di immagini con il mio layout personalizzato. Ora voglio fare come sopra lo scenario ma il problema è che ogni volta che inizio a registrare il video nella canzone di sfondo viene interrotta.

Lo SCRecorder utilizza AVCaptureSession per la registrazione di video.

Così come posso risolvere questo problema due:

  1. Consenti musica di sottofondo whiile la registrazione in video utilizzando SCRecorder.
  2. Registra il brano riprodotto in sottofondo nel video.
+0

Hai risolto il problema con SCRecorder? Sto facendo lo stesso e sono in grado di riprodurre musica in sottofondo. ma il mio problema è quando apro/chiudo app, la musica si ferma per un secondo e poi si riavvia automaticamente. Mentre non voglio interrompere la musica neanche per un secondo. – Surjeet

+0

no @Surjeet. Sto ancora cercando una risposta. Se trovi qualcosa per favore fammelo sapere. – KDeogharkar

+0

Sì, ho finito con questo e ho permesso la registrazione e la riproduzione di musica in background contemporaneamente. ma mi concede 1 secondo di pausa e si riavvia automaticamente. Se vuoi lo stesso, posso aiutarti. – Surjeet

risposta

12

Ecco cosa ho usato per consentire alla musica di sottofondo di giocare con la libreria SCRecorder. Spero che questo aiuto sia anche per te.

Scrivi questo codice nel tuo AppDelegate classe all'interno didFinishLaunchingWithOptions metodo -

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

    [session setActive:YES error:nil]; 

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

Dopo questa scrittura sotto la linea in SCRecorder di libaray 'SCRecorder.m' file di all'interno preparare Metododopo l'inizializzazione di AVCaptureSession.

session.automaticallyConfiguresApplicationAudioSession = NO; 

Se non sei un utente della biblioteca SCRecorder, quindi scrivere sopra la linea subito dopo l'inizializzazione AVCaptureSession nella classe.

+0

migliore risposta fuori là! funziona bene su iOS10. vorrebbe capire se "[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];" e perché gli eventi di controllo remoto sono importanti. – philouuuu

Problemi correlati