AVCaptureDevice.Position = AVCaptureDevice.Position.Type - PullRequest
0 голосов
/ 02 августа 2020

Я использую команду AVCaptureDevice.Position для функции, которая принимает AVCaptureDevice.Position в качестве одного из своих параметров. По какой-то причине я получаю сообщение об ошибке

Невозможно преобразовать значение типа AVCaptureDevice.Position.Type в ожидаемый тип аргумента AVCaptureDevice.Position

Я не конечно, почему я получаю эту ошибку, но вот я вызываю функцию, и я также включу код функции:

let visionImage = VisionImage(buffer: sampleBuffer)
visionImage.orientation = imageOrientation(deviceOrientation: UIDevice.current.orientation, cameraPosition: AVCaptureDevice.Position)

Вот код моей функции:

func imageOrientation(
      deviceOrientation: UIDeviceOrientation,
      cameraPosition: AVCaptureDevice.Position
    ) -> UIImage.Orientation {
      switch deviceOrientation {
      case .portrait:
        return cameraPosition == .front ? .leftMirrored : .right
      case .landscapeLeft:
        return cameraPosition == .front ? .downMirrored : .up
      case .portraitUpsideDown:
        return cameraPosition == .front ? .rightMirrored : .left
      case .landscapeRight:
        return cameraPosition == .front ? .upMirrored : .down
      case .faceDown, .faceUp, .unknown:
        return .up
      }
}

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 02 августа 2020

AVCaptureDevice.Position - это перечисление https://developer.apple.com/documentation/avfoundation/avcapturedevice/position

Установить .front, .back или .unspecified:

visionImage.orientation = imageOrientation(deviceOrientation: UIDevice.current.orientation, cameraPosition: AVCaptureDevice.Position.back)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...