diff --git a/package/ios/Core/CameraSession+Video.swift b/package/ios/Core/CameraSession+Video.swift index 207a674885..bc4d25db7a 100644 --- a/package/ios/Core/CameraSession+Video.swift +++ b/package/ios/Core/CameraSession+Video.swift @@ -107,25 +107,6 @@ extension CameraSession { } self.recordingSession = recordingSession - // Init Audio + Activate Audio Session (optional) - if enableAudio { - if let audioOutput = self.audioOutput { - ReactLogger.log(level: .trace, message: "Enabling Audio for Recording...") - // Activate Audio Session asynchronously - CameraQueues.audioQueue.async { - do { - // Initialize audio asset writer - let audioSettings = audioOutput.recommendedAudioSettingsForAssetWriter(writingTo: options.fileType) - recordingSession.initializeAudioWriter(withSettings: audioSettings) - - try self.activateAudioSession() - } catch { - self.onConfigureError(error) - } - } - } - } - // Init Video guard var videoSettings = self.recommendedVideoSettings(videoOutput: videoOutput, fileType: options.fileType, @@ -150,6 +131,23 @@ extension CameraSession { recordingSession.initializeVideoWriter(withSettings: videoSettings, pixelFormat: pixelFormat) + // Init Audio + Activate Audio Session (optional) + if enableAudio, let audioOutput = self.audioOutput { + ReactLogger.log(level: .trace, message: "Enabling Audio for Recording...") + // Activate Audio Session asynchronously + CameraQueues.audioQueue.async { + do { + // Initialize audio asset writer + let audioSettings = audioOutput.recommendedAudioSettingsForAssetWriter(writingTo: options.fileType) + recordingSession.initializeAudioWriter(withSettings: audioSettings) + + try self.activateAudioSession() + } catch { + self.onConfigureError(error) + } + } + } + // start recording session with or without audio. do { try recordingSession.startAssetWriter()