我想从didFinishProcessingPhoto
委托方法中获取一个像素缓冲区,但它是零。
func capturePhoto() {
let format = [AVVideoCodecKey: AVVideoCodecType.jpeg]
let settings = AVCapturePhotoSettings(format: format)
output.capturePhoto(with: settings, delegate: self)
}
和扩展:
extension CaptureSessionManager: AVCapturePhotoCaptureDelegate {
func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
guard let pixelBuffer = photo.pixelBuffer else {
return
}
bufferSubject.onNext(pixelBuffer)
}
}
在此之前,我显然是在向会话中添加输出。我应该使用与该委托不同的方法吗?