"CMSampleBuffer"类型的值没有成员"imageBuffer"

Thi*_*den 3 camera ios cmsamplebuffer swift xcode10

我目前正在开发一个在Swift中使用实时摄像头视图的项目.我使用了一些我在GitHub上找到的代码给我实时摄像机视图,它在运行Mojave的MacBook Pro上运行良好.我将所有文件存储在外部硬盘上,所以我去了iMac并开始在那里开展项目.我想我有两个不同版本的Xcode 10 beta,这可能是问题的一部分?基本上这条线在我的MacBook上工作正常,但在iMac上没有,btw正在运行macOS high Sierra 15:

guard let pixelBuffer : CVPixelBuffer = sampleBuffer.imageBuffer else { return }
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

Value of type 'CMSampleBuffer' has no member 'imageBuffer'
Run Code Online (Sandbox Code Playgroud)

但是当我在我的macbook上打开完全相同的项目时,这没有任何问题.这可能是一个Xcode版本的东西,还是因为我运行两个不同的macOS版本?

小智 9

您仍然可以使用此功能:

CMSampleBufferGetImageBuffer(_ sbuf: CMSampleBuffer)得到一个CVPixelBuffer?.

直接替换将是:

guard let pixelBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
Run Code Online (Sandbox Code Playgroud)