Spectacol plin de fotografiat lățime de Mac aparat de fotografiat atunci când rulează aplicația prin intermediul Mac Catalizator

0

Problema

Îmi cunosc Macbook webcam are un câmp larg de vedere. Când am deschis aplicația Quicktime și selectați meu Macbook-uri aparat de fotografiat ca intrare vad o largă frumos video de genul asta.

enter image description here

Acum, am o aplicatie iOS care sunt rulează folosind Mac Catalizator. Aici este de a construi o combinație eu sunt, folosind.

enter image description here

Atunci când am rula acest app, am obține un semnificativ trunchiate versiune a video de pe web cam.

enter image description here

Aici este clasa unde am înființat 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))
            }
        })
    }
    
}

Și adăugați-l la ViewController astfel:

let preview = AVCaptureVideoPreviewLayer(session: session)
preview.removeFromSuperlayer()  
preview.frame = self.view.bounds      
self.view.layer.insertSublayer(preview, at: 0)

Rețineți că UIViewController Eu sunt, folosind este adus în SwiftUI prin UIViewControllerRepresentable protocol de conformitate.

Am încercat o serie de presetări și descoperirea sesiuni de parametri, inclusiv .buildInWidtAngleCamera dar nu pot par pentru a obține pentru a arăta pe deplin rezoluția camerei? Am noroc aici, dacă am construi un nativ Mac?

apple-m1 avfoundation swift video
2021-11-22 21:53:49
1

Cel mai bun răspuns

2

Comuta la Optimize interface for Mac este sub Target>General>Deployment Info>Next To the Mac checkmark button.

Este probabil identificarea camera ca portret pentru iPad

2021-11-23 00:12:21

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................