Sé que mi Macbook webcam tiene un amplio campo de visión. Cuando abro el Quicktime de la aplicación y seleccione mi MacBooks de la cámara como la entrada veo un buen gran fuente de vídeo como este.
Ahora, tengo una aplicación para iOS que estoy corriendo el uso de Mac Catalizador. Aquí es la construcción de combinación que estoy utilizando.
Al ejecutar esta aplicación me sale una significativamente versión recortada de la señal de video desde la web cam.
Esta es la clase donde puedo configurar el AVCaptureSession
import Foundation
import AVFoundation
class BasicCamera: ObservableObject {
@Published var authorizationState: AVAuthorizationStatus = .notDetermined
let session = AVCaptureSession()
init() {
guard let device = AVCaptureDevice.default(for: .video) else {
fatalError("Could not make capture device.")
}
guard let input = try? AVCaptureDeviceInput(device: device) else {
fatalError("Could not make input")
}
session.beginConfiguration()
session.addInput(input)
session.commitConfiguration()
session.startRunning()
}
public func requestCameraPermission() async -> AVAuthorizationStatus {
return await withCheckedContinuation({ continuation in
AVCaptureDevice.requestAccess(for: .video) { [unowned self] didComplete in
self.authorizationState = AVCaptureDevice.authorizationStatus(for: .video)
continuation.resume(with: .success(self.authorizationState))
}
})
}
}
Y agregar a la ViewController como este:
let preview = AVCaptureVideoPreviewLayer(session: session)
preview.removeFromSuperlayer()
preview.frame = self.view.bounds
self.view.layer.insertSublayer(preview, at: 0)
Tenga en cuenta que el UIViewController
Yo estoy usando es traído a la SwiftUI a través de UIViewControllerRepresentable
el protocolo de la conformidad.
He intentado un número de presets y el descubrimiento de las sesiones de parámetros, incluyendo la .buildInWidtAngleCamera
pero parece que no puede llegar a mostrar la máxima resolución de la cámara? Estoy fuera de suerte aquí a menos que me construye como un verdadero nativo de Mac de la Aplicación?