首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带视频的requestImageDataForAsset PHAsset返回imageData指向一张照片

带视频的requestImageDataForAsset PHAsset返回imageData指向一张照片
EN

Stack Overflow用户
提问于 2016-02-18 22:58:09
回答 1查看 906关注 0票数 2

iOS9.3beta3,

PHImageManager requestImageDataForAsset返回时,imageData指向一张照片,尽管PHAssert是在设备上捕获的视频资产。

文档他说

"requestImageDataForAsset(_:options:resultHandler:) ..。如果版本选项设置为PHImageRequestOptionsVersionCurrent,Photos将提供呈现的图像数据,包括对资产内容所做的任何编辑的结果。否则,Photos将为资产提供最初捕获的图像数据。“

那是Is 9.3中的一个bug吗?

埃米尔。

EN

回答 1

Stack Overflow用户

发布于 2016-05-23 09:45:04

对我来说简单的解决方案

代码语言:javascript
运行
复制
+ (void)getAssetData:(NSString *)ident completeBlock:(void (^)(NSData *assetData))completeBlock {
    PHFetchResult *fetchResult = [PHAsset fetchAssetsWithLocalIdentifiers:@[ident] options:nil];
    if (fetchResult && [fetchResult count] == 0) {
        if (completeBlock) {
            completeBlock(nil);
        }
        return;
    }

    PHAsset *asset = fetchResult.firstObject;
    if (asset.mediaType == PHAssetMediaTypeVideo) {
        [[PHImageManager defaultManager] requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *asset, AVAudioMix *audioMix, NSDictionary *info) {
            if ([asset isKindOfClass:[AVURLAsset class]]) {
                AVURLAsset* urlAsset = (AVURLAsset*)asset;
                NSNumber *size;
                [urlAsset.URL getResourceValue:&size forKey:NSURLFileSizeKey error:nil];
                NSData *data = [NSData dataWithContentsOfURL:urlAsset.URL];
                completeBlock(data);
            } else {
                completeBlock(nil);
            }
        }];
    } else {
        [[PHImageManager defaultManager] requestImageDataForAsset:fetchResult.firstObject options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
            completeBlock(imageData);
        }];
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35494169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档