             throw NextLevelError.authorization
         }
 
-        if self.captureMode == .arKit {
-            #if USE_ARKIT
+        switch self.captureMode {
+        #if USE_ARKIT
+        case .arKit, .arKitWithoutAudio:
             setupARSession()
-            #endif
-        } else {
+        #endif
+        default:
             guard self._captureSession == nil else {
                 throw NextLevelError.started
             }

    /// Checks if the current capture session is running
    public var isRunning: Bool {
        get {
            #if USE_ARKIT
            if self.captureMode == .arKit {
                return self._arRunning
            }
            #endif
            if let session = self._captureSession {
                return session.isRunning
            }
            return false
        }
    }


            case .arKit:
                return "ARKit"
            case .arKitWithoutAudio:
                return "ARKit without Audio"
            }
        }
    }
