Mostrar todo el ancho de la cámara de Mac de la cámara cuando se ejecuta la aplicación a través de la Mac Catalizador

0

Pregunta

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.

enter image description here

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.

enter image description here

Al ejecutar esta aplicación me sale una significativamente versión recortada de la señal de video desde la web cam.

enter image description here

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?

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

Mejor respuesta

2

Cambiar a Optimize interface for Mac es bajo Target>General>Deployment Info>Next To the Mac checkmark button.

Es probable que la identificación de la cámara de retratos para el iPad

2021-11-23 00:12:21

En otros idiomas

Esta página está en otros idiomas

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