我正在使用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];
}
它会抛出这样的错误:
写忙, 编写此资产时出现问题,因为写入资源很忙。
任何人都可以指出问题出在哪里?
答案 0 :(得分:1)
您需要检查完成块中的错误,如果它是ALAssetsLibraryWriteBusyError,那么您需要尝试再次保存该资产。这意味着当方法尝试写入磁盘时,其他东西试图写入磁盘。