swift - 实例成员“fileDataRepresentation”不能用于“AVCapturePhoto”类型;你的意思是使用这种类型的值吗?
问题描述
Swift 给出了无法为 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()
解决方案
AVCapturePhoto.fileDataRepresentation是一种instance
方法,而不是一种class
方法。
您必须在这样的实例上调用它AVCapturePhoto
-
func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Swift.Error?) {
let imageData = photo.fileDataRepresentation()
}
推荐阅读
- angular - 是否可以将 Angular Material 用于 Angular4 应用程序?
- python - 如何在 gensim 中手动设置 Tfidf 模型的值
- ios - 如何为我的 SexyTooltip 实例定义允许的箭头方向?
- java - Add up BigDecimals in Map by matching with keys from another Set
- python-3.x - 测试python3的互联网连接
- android - 如何使TextView下的textAlignment在Android Studio 3.1.2的属性中可见?
- c++ - 使用 dynamic_pointer_cast 时出现分段错误
- sql-server - 如何获取存储过程中日期之间的数据总和?
- javascript - 复制到剪贴板并维护电子邮件签名的 HTML 元素
- r - 如何将单个列传播或转换为多个 - 错误:行的标识符重复