我试图从https://github.com/Lockerios/VideoFromImage重新创建一些功能,并在本文中讨论:ASSETWriterInput for making Video from UIImages on Iphone Issues
在像素pixelBufferFromCGImage:size方法中,到目前为止我有以下内容:
options = {KCVPixelBufferCGImageCompatibilityKey => 1, KCVPixelBufferCGBitmapContextCompatibilityKey => 1}
pxbuffer = nil
status = CVPixelBufferCreate(KCFAllocatorDefault, imageSize.width, imageSize.height, KCVPixelFormatType_32ARGB, options, pxbuffer)其中imageSize.width == 640.0和imageSize.height == 1136.0
然而,状态总是返回-6661。我有点搞不懂为什么会发生这种事。在其他地方调用此方法的方法如下:
buffer = pixelBufferFromCGImage(array.objectAtIndex(0).CGImage, size:CGSizeMake(640, 1136))当我从pixelBufferFromCGImage函数中检查图像时,它的类型似乎是"#<__NSCFType:0x9ba7fa0>“--我不确定这是否会造成问题。
我似乎是根据CVPixelBufferCreate函数向ref/doc/uid/TP40010164-CH4g-BABIIDJJ函数传递了一个不正确的参数,其中最有可能的参数是最后一个'pixelBufferOut‘参数。
任何对这个问题的洞察力都将不胜感激。到目前为止,我在https://gist.github.com/naderhen/8407730上有一个完整的代码要点
谢谢!
发布于 2014-01-13 20:58:07
看起来,最后一个参数应该是指向CVPixelBufferRef对象的指针。你可以试试这个:
pxbuffer = Pointer.new(:object)这样做,我的状态是0,而不是-6661。
然后,使用pxbuffer[0]访问缓冲区
https://stackoverflow.com/questions/21100957
复制相似问题