В настоящее время я пытаюсь реализовать прямую трансляцию камеры для моего приложения. Я настроил его, но почему-то он не работает, как ожидалось. Насколько я понимаю, captureOutput
должен выполняться каждый раз, когда распознается фрейм, и сообщение о печати должно выводиться на консоль, но почему-то это не так - консоль не будет показывать команду печати.
Кто-нибудь видит возможную ошибку внутри кода?
Я не знаю, связано ли это с моей проблемой, но при запуске приложения консоль показывает следующее:
[BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C1.1: 2] [0x106b24530] получить выходные кадры не удалось, состояние 8196
import UIKit
import AVKit
import Vision
class CameraViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let captureSession = AVCaptureSession()
guard let captureDevice = AVCaptureDevice.default(for: .video) else { return }
guard let input = try? AVCaptureDeviceInput(device: captureDevice) else{ return }
captureSession.addInput(input)
captureSession.startRunning()
let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
view.layer.addSublayer(previewLayer)
previewLayer.frame = view.frame
let dataOutput = AVCaptureVideoDataOutput()
dataOutput.setSampleBufferDelegate(self, queue: DispatchQueue(label: "videoQueue"))
captureSession.addOutput(dataOutput)
// let request = VNCoreMLRequest
// VNImageRequestHandler(cgImage: <#T##CGImage#>, options: [:]).perform(request)
}
func captureOutput(_ output: AVCaptureOutput, didDrop sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
print("Es hat funktioniert")
}
}