ALAssetsGroupLibrary bevat geen video-items

Ik gebruik de ALAssetLibrary om de video's op het apparaat te inventariseren en het werkt prima voor video's die op het apparaat zelf zijn gemaakt. Maar voor groepen die zijn gemaakt als resultaat van een gesynchroniseerd album/evenement uit iTunes krijg ik geen video's, hoewel er video's in de correspondentiemap van de app "Videos" staan.

Codeer dat u naar video's zoekt en het aantal items en video's in elke groep registreert:

//using dispatch_async just to make sure it is called on the main thread

    dispatch_async(dispatch_get_main_queue(),^{

        ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];        

        [library enumerateGroupsWithTypes:ALAssetsGroupEvent|ALAssetsGroupLibrary usingBlock:^(ALAssetsGroup *group, BOOL *stop) {        

            if (group!=nil) {            

                NSLog(@"Number of assets in %@ :%d",[group valueForProperty:ALAssetsGroupPropertyName],[group numberOfAssets]);

                [group setAssetsFilter:[ALAssetsFilter allVideos]];        

                NSLog(@"Number of videos in %@ :%d",[group valueForProperty:ALAssetsGroupPropertyName],[group numberOfAssets]);

            }


        } failureBlock: ^(NSError *error) {

            NSLog(@"ERROR: %@",[error localizedDescription]);

        }]; 

    });

Enig idee wat is er aan de hand? of hoe krijg ik die video's die gesynchroniseerd zijn vanuit iTunes? (iOS5 met iPhone4)

0

1 antwoord

De AssetsLibrary geeft alleen een opsomming van de fotobibliotheek. Daarom krijg je alleen foto's/video's die worden beheerd door de "Foto's" -app (bijvoorbeeld video's die zijn opgenomen met de camera van het apparaat). De video's die worden beheerd door de app "Videos" bevinden zich in een andere bibliotheek. Er is geen manier om deze via een officiële API voor ontwikkelaars te openen.

cheers,

Hendrik

1
toegevoegd