Macbook'umun web kamerasının geniş bir görüş alanına sahip olduğunu biliyorum. Quicktime uygulamasını açtığımda ve MacBooks kameramı giriş olarak seçtiğimde, bunun gibi güzel ve geniş bir video akışı görüyorum.
Şimdi, Mac Catalyst kullanarak çalıştırdığım bir iOS uygulamam var. İşte kullandığım yapı kombinasyonu.
Bu uygulamayı çalıştırdığımda, web kamerasından video beslemesinin önemli ölçüde kırpılmış bir sürümünü alıyorum.
İşte kurduğum sınıf 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))
}
})
}
}
Ve bunu Viewcontroller'a şu şekilde ekleyin:
let preview = AVCaptureVideoPreviewLayer(session: session)
preview.removeFromSuperlayer()
preview.frame = self.view.bounds
self.view.layer.insertSublayer(preview, at: 0)
Bu not UIViewController
Kullanıyorum swiftui'ye getirildi UIViewControllerRepresentable
protokol uyumu.
Aşağıdakiler de dahil olmak üzere bir dizi hazır ayar ve keşif oturumu parametresini denedim .buildInWidtAngleCamera
ama tam kamera çözünürlüğünü gösteremiyor gibi görünüyor? Gerçek bir yerel Mac Uygulaması olarak oluşturmazsam burada şansım yaver gitmiyor mu?