Член экземпляра fileDataRepresentation не может использоваться с типом AVCapturePhoto; вы хотели вместо этого использовать значение этого типа?
Swift выдает ошибку, что представление fileDataRepresentation не может быть создано для AVCapturePhoto. Печать «фото» возвращает метаданные фотографии. Как я могу преобразовать изображение в байты файла и, в конечном итоге, в base64? До сих пор я пробовал много методов, но все они полагаются на получение байтов файла. Заранее благодарим за любые ответы!
@IBAction func takePhotoButtonPressed(_ sender: Any) {
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first!
let previewFormat = [kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
kCVPixelBufferWidthKey as String: 160,
kCVPixelBufferHeightKey as String: 160]
settings.previewPhotoFormat = previewFormat
settings.isHighResolutionPhotoEnabled = false
sessionOutput.capturePhoto(with: settings, delegate: self)
}
func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Swift.Error?) {
let imageData = AVCapturePhoto.fileDataRepresentation()
1 ответ
AVCapturePhoto.fileDataRepresentation - это
instance
метод, а НЕ
class
метод.
Вы должны вызвать его на экземпляре
AVCapturePhoto
как это -
func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Swift.Error?) {
let imageData = photo.fileDataRepresentation()
}