views:

30

answers:

1

Hi, I would like to know how to retrieve video format using AssetLibrary and display on uilabel? i read on forum to use ALAssetPropertyRepresentations but im just lost. some help please?

A: 

I'm not sure what you mean by "format", but this code will display the video's UTI (basically, file type) and any metadata.

ALAssetsGroupEnumerationResultsBlock assetEnumerator = ^(ALAsset *asset, NSUInteger index, BOOL *stop) {
    if(asset != nil) {
        ALAssetRepresentation* representation = [asset defaultRepresentation];
        NSLog(@"UTI = %@", [representation UTI]);
        NSLog(@"Metadata = %@", [representation metadata]);
    }
};

ALAssetsLibraryGroupsEnumerationResultsBlock assetGroupEnumerator = ^(ALAssetsGroup *group, BOOL *stop) {
    if(group != nil) {
        [group setAssetsFilter:[ALAssetsFilter allVideos]];
        [group enumerateAssetsUsingBlock:assetEnumerator];          
    }
};

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAll
                       usingBlock:assetGroupEnumerator
                     failureBlock:^(NSError *error) {
                         NSLog(@"A problem occured. %@", error);
                     }];
[library release];

(Code modified from here.)

If you already have your asset, the code to update the label looks like this:

myLabel.text = [[myAsset defaultRepresentation] UTI];
Robot K
Hi Thanks for the help but how do get the the video format of the video (eg. 3gp, mp4, etc) using ALAssetsRepresentation?
tan