如何快速保存从相机到相册的图像捕获

时间:2011-06-15 04:41:15

标签: avfoundation capture

我正在使用AVFoundation来实现captureStillImage函数。

当我使用以下代码将图像写入iphone上的相册时,

if (imageDataSampleBuffer != NULL) {

    NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];

    UIImage *image = [[UIImage alloc] initWithData:imageData];
    NSLog(@"capturestill image size is %@", NSStringFromCGSize(image.size));
    [library writeImageToSavedPhotosAlbum:[image CGImage]
        orientation:(ALAssetOrientation)[image imageOrientation]
        completionBlock:completionBlock];
    [image release];

    [library release];
}

它会抛出这样的错误:

写忙, 编写此资产时出现问题,因为写入资源很忙。

任何人都可以指出问题出在哪里?

1 个答案:

答案 0 :(得分:1)

您需要检查完成块中的错误,如果它是ALAssetsLibraryWriteBusyError,那么您需要尝试再次保存该资产。这意味着当方法尝试写入磁盘时,其他东西试图写入磁盘。