Weexe
Weexe

Reputation: 150

iOS stream Audio and record Audio

i have an app which should record audio when a button i pressed. In my ViewDidLoad i preapare the recorder, the problem is that streaming audio interrupts when the line 'self.audioRecorder.prepareToRecord()' is called.

My setup :

do {
    recordingSession = AVAudioSession.sharedInstance()
    try recordingSession.setCategory(AVAudioSessionCategoryRecord, withOptions: [.DuckOthers, .AllowBluetooth, .MixWithOthers])

    recordingSession.requestRecordPermission() { [unowned self] (allowed: Bool) -> Void in
        dispatch_async(dispatch_get_main_queue()) {
            do {
                if allowed {
                    self.audioRecorder = try AVAudioRecorder(URL: self.tempAudioPath, settings: self.settings)
                    self.audioRecorder.delegate = self
                    self.audioRecorder.prepareToRecord()
                    //self.audioRecorder.record()
                } else {
                    // failed to record!
                    print("No Access to Micro")
                }
            }catch{}
        }
    }
} catch {
    print (error)
}

is there a way to preapare the audio recorder for record, and continue to play audio in background ? (duck it when recording the audio)

Upvotes: 0

Views: 1153

Answers (1)

Nick
Nick

Reputation: 11

Per Apple's documentation for AVAudio​Session​Category​​Record, "this category silences playback audio". Have you tried setting the category to AVAudio​Session​Category​Play​And​Record?

Upvotes: 1

Related Questions