verfolge ich ein Tutorial auf Youtube über CoreML: Echtzeit-Kamera Objekterkennung mit maschinellem Lernen - Swift 4 von Herrn BrianGeben Sie 'String!' kein Mitglied ‚Foto‘ hat
captureSession.sessionPreset = .photo
In dieser Zeile, sagt der Fehler:
Typ "String" hat kein Mitglied 'Foto'.
dataOutput.setSampleBufferDelegate(self, queue: DispatchQueue(label: "videoQueue"))
Und ein anderer Fehler ist der 'Selbst' Teil. Der Fehler lautet:
Wert des Typs 'ViewController' kann nicht in den erwarteten Argumenttyp 'AVCaptureVideoDataOutputSampleBufferDelegate!' Konvertiert werden.
Unten ist der gesamte Code:
import UIKit
import AVFoundation
import AVKit
import Vision
class ViewController: UIViewController, AVCaptureAudioDataOutputSampleBufferDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// here is where we start up the camera
let captureSession = AVCaptureSession()
captureSession.sessionPreset = .photo
guard let captureDevice =
AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo) 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)
Ändern Sie 'AVCaptureAudioDataOutputSampleBufferDelegate' in' AVCaptureVideoDataOutputSampleBufferDelegate'. – rmaddy
Danke. Es funktioniert jetzt. Wie wäre es mit dem ersten Fehler? – Harry
Beginnen Sie mit der Dokumentation der Eigenschaft 'sessionPreset' von' AVCaptureSession'. – rmaddy