Viem, že môj Macbook je webkameru má široké zorné pole. Keď som otvoril Quicktime aplikáciu a vyberte položku moje MacBooks kamera ako vstup vidím pekný široký video zdroj, ako je tento.
Teraz, mám iOS aplikácie, ktoré používam pomocou Mac Katalyzátor. Tu je vybudovať zmes používam.
Keď som sa spustiť túto aplikáciu som získať výrazne orezaný verziu video upútavku zo web kameru.
Tu je trieda, kde som nastaviť 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))
}
})
}
}
A pridajte ho do ViewController, ako je tento:
let preview = AVCaptureVideoPreviewLayer(session: session)
preview.removeFromSuperlayer()
preview.frame = self.view.bounds
self.view.layer.insertSublayer(preview, at: 0)
Upozorňujeme, že UIViewController
Som pomocou je podaná do SwiftUI cez UIViewControllerRepresentable
protokol kompatibilita.
Ja som sa snažil číslo predvoľby a discovery relácie parametre, vrátane .buildInWidtAngleCamera
ale nedokážem si ho zobraziť plné rozlíšenie kamery? Mám smolu tu, ak som sa postaviť ako skutočná natívne Mac Aplikácie?