So che il mio Macbook webcam ha un ampio campo di vista. Quando ho aperto il Quicktime app e selezionare il mio Macbook fotocamera come input vedo un bel ampia feed video come questo.
Ora, ho un app iOS che sto correndo con Mac Catalizzatore. Ecco la build combinazione sto usando.
Quando ho eseguito questa app ho un significativamente versione ritagliata di un feed video dalla web cam.
Qui è la classe in cui ho impostato il 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))
}
})
}
}
E per aggiungere il ViewController come questo:
let preview = AVCaptureVideoPreviewLayer(session: session)
preview.removeFromSuperlayer()
preview.frame = self.view.bounds
self.view.layer.insertSublayer(preview, at: 0)
Si noti che il UIViewController
Io sto usando è portato in SwiftUI via UIViewControllerRepresentable
protocollo di conformità.
Ho provato un certo numero di preset e le sessioni di rilevamento di parametri tra cui .buildInWidtAngleCamera
ma non riesco a farlo per dimostrare la completa risoluzione della fotocamera? Io sono fuori di fortuna, a meno che l'ho costruita come una vera e propria Applicazione nativa per Mac?