仅从库ios检索特定专辑的视频

时间:2014-09-10 04:32:33

标签: objective-c ios7 alassetslibrary alasset alassetsgroup

我想要存储在特定相册中的视频列表(VideoMaker)。 此列表是URL数组。

  • 此列表显示在uicollectionview

我编写此代码以获取视频,但它提供了URL的空值。

[_library enumerateGroupsWithTypes:ALAssetsGroupAll  usingBlock:^(ALAssetsGroup *group, BOOL *stop){

    NSLog(@"succed");
    if (group != NULL) {

                    [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index,BOOL *st){


                        if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) {
                            NSLog(@"asset: %@", result);
                            [assets addObject:result];
                        }

                    }];
                }

                [self.collectionView reloadData];
    } failureBlock:^(NSError *error) {
    NSLog(@"Failure");
    }];

在此代码_ 是( ALAssetLibrary ),资产是( NSMutableArray ) 我在我的Iphone中创建了一个专辑,所以我只想获得存储在我的专辑中的这个视频。

1 个答案:

答案 0 :(得分:1)

我在这里添加了assetfilter。使用属性名称

新代码是:

    [_library enumerateGroupsWithTypes:ALAssetsGroupAll  usingBlock:^(ALAssetsGroup *group, BOOL *stop){

        if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqual:@"VideoMaker"]) {

            [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop){
                [group setAssetsFilter:[ALAssetsFilter allVideos]];

                if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo])  {
                    NSLog(@"asset: %@", result);

                    [assets addObject:result];
                }

            }];
        }

        [self.collectionView reloadData];
        //[self.activity stopAnimating];
        //[self.activity setHidden:YES];

    }
                         failureBlock:^(NSError *error){

                             NSLog(@"failure"); }];
}