Je travaille sur l'utilisation d'un appareil sur mesure, et moi avons récemment mis à niveau vers la bêta Xcode 8 ainsi que Swift 3. J'avais d'abord ceci:Comment utiliser AVCapturePhotoOutput
var stillImageOutput: AVCaptureStillImageOutput?
Cependant, je reçois maintenant l'avertissement :
'AVCaptureStillImageOutput' was deprecated in iOS 10.0: Use AVCapturePhotoOutput instead
Comme c'est assez récent, je n'ai pas vu beaucoup d'informations à ce sujet. Voici mon code actuel:
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)
}
})
}
}
J'ai essayé de regarder AVCapturePhotoCaptureDelegate
, mais je ne suis pas tout à fait sûr comment l'utiliser. Est-ce que quelqu'un sait comment l'utiliser? Merci.
Vous devez voir la vidéo WWDC 2016 session 511 .. –
Ohk! Donc, je vais regarder la vidéo, et posterai une réponse si je peux. Merci! – penatheboss
En regardant [les documents] (http://developer.apple.com/reference/AVFoundation/AVCapturePhotoOutput) pourrait aussi aider. – rickster