Je sais que mon Macbook webcam dispose d'un large champ de vision. Quand j'ai ouvert le Quicktime application et sélectionnez mon Macbook caméra que l'entrée, je vois une belle vidéo à l'échelle d'alimentation de ce genre.
Maintenant, j'ai une application iOS qui je suis en cours d'exécution à l'aide de Mac Catalyseur. Voici le build combinaison que j'utilise.
Quand je lance cette application, je reçois un considérablement rogné version de la vidéo en direct à partir de la web cam.
Ici, c'est la classe où j'ai mis en place le 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))
}
})
}
}
Et l'ajouter à la ViewController comme ceci:
let preview = AVCaptureVideoPreviewLayer(session: session)
preview.removeFromSuperlayer()
preview.frame = self.view.bounds
self.view.layer.insertSublayer(preview, at: 0)
Notez que l' UIViewController
Je suis aide est mis en SwiftUI via UIViewControllerRepresentable
protocole de conformité.
J'ai essayé un certain nombre de présélections et de séances de découverte paramètres, y compris .buildInWidtAngleCamera
mais ne semble pas possible de l'obtenir pour montrer l'intégralité de la résolution de la caméra? Je suis hors de la chance ici, sauf si je le construire comme un vrai natif de Mac Application?