相关疑难解决方法(0)

如何使用AVCapturePhotoOutput

我一直在使用自定义相机,最近我和Swift 3一起升级到Xcode 8 beta.我原来是这样的:

var stillImageOutput: AVCaptureStillImageOutput?
Run Code Online (Sandbox Code Playgroud)

但是,我现在收到警告:

在iOS 10.0中不推荐使用'AVCaptureStillImageOutput':改用AVCapturePhotoOutput

由于这是相当新的,我没有看到很多关于此的信息.这是我目前的代码:

var captureSession: AVCaptureSession?
var stillImageOutput: AVCaptureStillImageOutput?
var previewLayer: AVCaptureVideoPreviewLayer?

func clickPicture() {

    if let videoConnection = stillImageOutput?.connection(withMediaType: AVMediaTypeVideo) {

        videoConnection.videoOrientation = .portrait
        stillImageOutput?.captureStillImageAsynchronously(from: videoConnection, completionHandler: { (sampleBuffer, error) -> Void in

            if sampleBuffer != nil {

                let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
                let dataProvider = CGDataProvider(data: imageData!)
                let cgImageRef = CGImage(jpegDataProviderSource: dataProvider!, decode: nil, shouldInterpolate: true, intent: .defaultIntent)

                let image = UIImage(cgImage: cgImageRef!, scale: 1, orientation: .right)

            }

        })

    }

} …
Run Code Online (Sandbox Code Playgroud)

camera avfoundation ios swift swift3

38
推荐指数
4
解决办法
4万
查看次数

如何在OS X目标中创建CFDictionary?

根据文档 CFDictionaryCreate用于实例化CFDictionary swift.

func CFDictionaryCreate(_ allocator: CFAllocator!,
                  _ keys: UnsafeMutablePointer<UnsafePointer<Void>>,
                  _ values: UnsafeMutablePointer<UnsafePointer<Void>>,
                  _ numValues: CFIndex,
                  _ keyCallBacks: UnsafePointer<CFDictionaryKeyCallBacks>,
                  _ valueCallBacks: UnsafePointer<CFDictionaryValueCallBacks>) -> CFDictionary!
Run Code Online (Sandbox Code Playgroud)

我怎样才能创建keysvalues参数?到目前为止,我已尝试使用swift的String类型,希望它会自动转换为适当的类型:

import Foundation

var keys : [String] = ["key1", "key2"]
var values : [String] = ["value1", "value2"]
var keyCallbacks = kCFTypeDictionaryKeyCallBacks
var valueCallbacks = kCFTypeDictionaryValueCallBacks
var dict : CFDictionary = CFDictionaryCreate(kCFAllocatorDefault,
    &keys, &values, 2, &keyCallbacks, &valueCallbacks)
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到一个错误,说String不是keysvalues数组元素的正确类型:

main.swift:41:2: error: 'String' is …
Run Code Online (Sandbox Code Playgroud)

macos core-foundation cfstring swift cfdictionary

4
推荐指数
1
解决办法
3316
查看次数