通常,如果您想使用AVCapturePhoto,您可以这样做:
func capturePhoto() {
let photoSettings = AVCapturePhotoSettings()
photoOutput?.capturePhoto(with: photoSettings, delegate: self)
}然后,在处理照片时,调用photoOutput方法:
internal func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
}问:是否可以通过.capturePhoto将自定义数据传递给.capturePhoto?.metadata只能在iOS上访问,而且每次我用.value()方法设置值时都可以访问它。
[General] [<AVCapturePhotoSettings 0x600003882080> valueWithUniqueID:inPropertyWithKey:]: lookup of unknown key: 'key'.发布于 2021-06-14 11:11:05
我认为最好也是最简单的方法是使用其他对象作为照片捕获的delegate,并且始终为每个捕获操作创建一个新的委托实例。通过这种方式,您可以将其他数据传递给init上的委托对象,这些数据可以在photoOutput(_:didFinishProcessingPhoto:)方法中使用。
我可以强烈推荐苹果公司的AVCam样本项目。他们就是这么做的。
https://stackoverflow.com/questions/67968754
复制相似问题