首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型'AVCapturePhotoSettings‘的值没有成员'availablePreviewPhotoPixelFormatTypes’

类型'AVCapturePhotoSettings‘的值没有成员'availablePreviewPhotoPixelFormatTypes’
EN

Stack Overflow用户
提问于 2017-08-08 06:32:39
回答 3查看 2.7K关注 0票数 10
代码语言:javascript
复制
@objc func launchCoreML() {
    let settings = AVCapturePhotoSettings()
    let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first
    let previewFormat = [
        kCVPixelBufferPixelFormatTypeKey as String: previewPixelType, 
        kCVPixelBufferWidthKey as String: 160, 
        kCVPixelBufferHeightKey as String: 160
    ] as [String : Any]

    settings.previewPhotoFormat = previewFormat
    cameraOutput.capturePhoto(with: settings, delegate: self)
}

我说错了:

类型'AVCapturePhotoSettings‘的值没有成员'availablePreviewPhotoPixelFormat’。

我正在使用Xcode 9的beta版本。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-08 08:25:32

在beta 4中,它被重命名为__availablePreviewPhotoPixelFormat。我还没看过beta 5。

票数 13
EN

Stack Overflow用户

发布于 2020-09-23 15:28:29

在升级到Xcode 12.0之后,我也遇到了同样的问题

在最后的Xcode发行版: 12.0版(12A7209)中,settings.availablePreviewPhotoPixelFormatTypes又被更改为settings.__availablePreviewPhotoPixelFormatTypes。至少两年来,我一直在使用它而不用“重命名”。Thx @Matthijs Hollemans寻求帮助

编辑:这是官方对这一变化的回应:https://developer.apple.com/forums/thread/86810?answerId=259270022#259270022

这段代码编译OK。

代码语言:javascript
复制
let settings = AVCapturePhotoSettings()
guard let previewPixelType = settings.__availablePreviewPhotoPixelFormatTypes.first else { return }
let previewFormat = [
    kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
    kCVPixelBufferWidthKey as String: 160,
    kCVPixelBufferHeightKey as String: 160
]
settings.previewPhotoFormat = previewFormat
output.capturePhoto(with: settings, delegate: self)
票数 5
EN

Stack Overflow用户

发布于 2017-10-09 07:18:39

代码语言:javascript
复制
        var photoSettings: AVCapturePhotoSettings
        if #available(iOS 11.0, *) {
            photoSettings = AVCapturePhotoSettings.init(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])
        } else {
            // Fallback on earlier versions
            photoSettings = AVCapturePhotoSettings()
            if photoSettings.__availablePreviewPhotoPixelFormatTypes.count > 0 {
                photoSettings.previewPhotoFormat = [kCVPixelBufferPixelFormatTypeKey as String : photoSettings.__availablePreviewPhotoPixelFormatTypes.first!]
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45560892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档