Swift 如何将CVImageBuffer转换为非托管<;CVImageBuffer>;?

Swift 如何将CVImageBuffer转换为非托管<;CVImageBuffer>;?,swift,ios8,xcode6,Swift,Ios8,Xcode6,我在Swift中有此代码,但得到一个错误:CVImageBuffer不能转换为非托管 func getTextureFromSampleBuffer(sampleBuffer: CMSampleBuffer!) -> GLuint { cleanupVideoTextures() var unmanagedImageBuffer: Unmanaged<CVImageBuffer> = CMSampleBufferGetImageBuffer(sampleBuf

我在Swift中有此代码,但得到一个错误:CVImageBuffer不能转换为非托管

  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)