Получить только видео определенного альбома из библиотеки ios

Мне нужен список видео, которые хранятся в конкретном альбоме, подобном этому (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. поэтому я хочу получить только это видео, которое хранится в моем альбоме.


person Milan patel    schedule 10.09.2014    source источник


Ответы (1)


Я добавляю фильтр активов в это. с именем свойства

Новый код:

    [_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"); }];
}
person Milan patel    schedule 10.09.2014