我正在尝试将CoreVideo与Swift一起使用,但出现以下错误:

let flags : CVOptionFlags = 0
CVPixelBufferLockBaseAddress(imageBuffer, flags)
^~~~~~~~~~~~~~~~~

无法将表达式的类型“cvReturn”转换为类型“cvPixelBuffer!”
CVPixelBufferLockBaseAddress(imageBuffer, 0)
^~~~~~~~~~~~~~~~~

无法将表达式的类型“cvreturn”转换为类型“cvoptionflags”
如果我不使用它,它为什么不能转换值呢?我应该用不同的方式来传递第二个论点吗?

最佳答案

我想会有用的。

var tmp : COpaquePointer = CMSampleBufferGetImageBuffer(imageBuffer).toOpaque()
var pixelBuf : CVPixelBuffer = (Unmanaged<CVPixelBuffer>.fromOpaque(tmp)).takeUnretainedValue()
CVPixelBufferLockBaseAddress(pixelBuf, 0)

关于c - Swift和C API(CoreVideo),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24149050/

10-09 03:36