LiveProject/controller/CameraCapture.swift
@@ -27,19 +27,28 @@
        if session.canAddInput(input) {
            session.addInput(input)
        }
        let output = AVCaptureVideoDataOutput()
        output.videoSettings = [
            kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA
        ]
        output.setSampleBufferDelegate(self, queue: DispatchQueue(label: "camera.queue"))
        if session.canAddOutput(output) {
            session.addOutput(output)
        }
        self.videoOutput = output
        // 在相机配置代码中
        if let videoConnection = output.connection(with: .video) {
            // 自动旋转(推荐)
            videoConnection.automaticallyAdjustsVideoMirroring = false
            videoConnection.videoOrientation = .portrait // 或根据UI方向设置
            // 对于前置摄像头启用镜像
            /*if videoConnection.isVideoMirroringSupported {
                videoConnection.isVideoMirrored = (cameraPosition == .front)
            }*/
        }
        session.commitConfiguration()
        session.startRunning()
        print("📷 相机已开启")
@@ -51,7 +60,9 @@
        guard let buffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
        let width = CVPixelBufferGetWidth(buffer)
        let height = CVPixelBufferGetHeight(buffer)
        //print("📷 当前帧尺寸: \(width)x\(height)")
        //print("Buffer Size: \(CVPixelBufferGetWidth(buffer))x\(CVPixelBufferGetHeight(buffer))")
        //print("Connection orientation: \(connection.videoOrientation.rawValue)")
        //print("Rotation angle: \(connection.videoRotationAngle)")
        onFrame?(buffer)
    }