Swift 如何将CVImageBuffer转换为非托管<;CVImageBuffer>;?
我在Swift中有此代码,但得到一个错误:CVImageBuffer不能转换为非托管Swift 如何将CVImageBuffer转换为非托管<;CVImageBuffer>;?,swift,ios8,xcode6,Swift,Ios8,Xcode6,我在Swift中有此代码,但得到一个错误:CVImageBuffer不能转换为非托管 func getTextureFromSampleBuffer(sampleBuffer: CMSampleBuffer!) -> GLuint { cleanupVideoTextures() var unmanagedImageBuffer: Unmanaged<CVImageBuffer> = CMSampleBufferGetImageBuffer(sampleBuf
func getTextureFromSampleBuffer(sampleBuffer: CMSampleBuffer!) -> GLuint {
cleanupVideoTextures()
var unmanagedImageBuffer: Unmanaged<CVImageBuffer> = CMSampleBufferGetImageBuffer(sampleBuffer) // Here get the error
var imageBuffer = unmanagedImageBuffer.takeUnretainedValue()
var opaqueImageBuffer = unmanagedImageBuffer.toOpaque()
func getTextureFromSampleBuffer(sampleBuffer:CMSampleBuffer!)->GLuint{
清理视频纹理()
var unmanagedImageBuffer:Unmanaged=CMSampleBufferGetImageBuffer(sampleBuffer)//此处获取错误
var imageBuffer=unmanagedImageBuffer.takeUnrepainedValue()
var opaqueImageBuffer=unmanagedImageBuffer.toOpaque()
我怎么能投这个
谢谢!
CMSampleBufferGetImageBuffer()
不再接受非托管对象了?也许这已经改变了
在测试版之间)。您可以替换
var unmanagedImageBuffer: Unmanaged<CVImageBuffer> = CMSampleBufferGetImageBuffer(sampleBuffer) // Here get the error
var imageBuffer = unmanagedImageBuffer.takeUnretainedValue()
但是需要opaqueImageBuffer for:var cameraFrame:CVPixelBuffer=Unmanaged.fromOpaque(opaqueImageBuffer.takeUnretainedValue()textureWidth=CVPixelBufferGetWidth(cameraFrame)textureHight=CVPixelBufferGetHeight(cameraFrame)@user3745888:Try
var imageBuffer=CMSampleBufferGetImageBuffer(sampleBuffer)作为CVPixelBuffer
和textureHeight=CVPixelBufferGetHeight(imageBuffer)
。
var imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)