繁体   English   中英

获取相应的AVMetadataObject的CMSampleBuffer?

[英]Get CMSampleBuffer of corresponding AVMetadataObject?

我正在运行一个成功返回的会话

AVMetadataObjects

在里面

AVCaptureMetadataOutputObjectsDelegate

我的问题是如何获取AVMetadataObject来自的对应图像?

TL:DR; https://developer.apple.com/documentation/avfoundation/avcapturedataoutputsynchronizer

您将要实现AVCaptureDataOutputSynchronizerDelegate。 这很简单,只需将两个输入(视频和元数据)都添加到AVCaptureDataOutputSynchronizer,然后您将获得一个AVCaptureSynchronizedDataCollection,其中包含来自同一时间戳的一个或多个sampleBuffers。 这样,当您使用元数据输出sampleBuffer时,您只需从AVCaptureSynchronizedDataCollection中获取相应的图像sampleBuffer。

有一些代码,但最主要的是获取您当前使用的代码

open func captureOutput(_ captureOutput: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { ... }并将其移到新的委托中

public func dataOutputSynchronizer(_ synchronizer: AVCaptureDataOutputSynchronizer, didOutput synchronizedDataCollection: AVCaptureSynchronizedDataCollection) {...}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM