KDeogharkar KDeogharkar - 3 months ago 40
Objective-C Question

Allows music playback during recording video like snapchat ios

First I want to discuss the scenario happening in snapchat.

In snapchat when you start recording video and song is running in background; It allows continue that song while recording video and after you record that video you can also able to hear that song in background.

I am using SCRecorder for recording video and capture image with my custom layout . Now in that I want to do just like above scenario but problem is whenever I start recording the video in background song is stopped playing.

SCRecorder is using

AVCaptureSession
for recording video.

So how can I resolve this two problem:


  1. Allow background music whiile recording in video using SCRecorder.

  2. Record song that is playing in background in video .


Answer

Here is what i used to allow background music play with SCRecorder library. Hope this help for you too.

Write this code in your AppDelegate class within didFinishLaunchingWithOptions method -

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

    [session1 setActive:YES error:nil];

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

After this write below line in SCRecorder libaray's 'SCRecorder.m' file within prepare method after initialising AVCaptureSession.

session.automaticallyConfiguresApplicationAudioSession = NO;

If you are not a SCRecorder library user, then write above line just after initialising AVCaptureSession in your class.

Comments