如何快速将相机拍摄的图像保存到相册

发布于 11-16 00:08 字数 762 浏览 3 评论 0原文

我正在使用 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];
}

它会抛出如下错误:

Write Busy, 由于写入资源繁忙,写入此资产时出现问题。

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

I am using AVFoundation to implement captureStillImage function.

When I use the follow code to write an Image to album on 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];
}

it throw an error like this:

Write Busy,
There was a problem writing this asset because the writing resources are busy.

Any one can point out where is the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苦笑流年记忆2024-11-23 00:08:36

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

You need to check the error in the completion block and if it is ALAssetsLibraryWriteBusyError, then you need to try to save that asset again. It means something else was trying to write to disk when the method attempted to write to disk.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文