Get album artwork from ID3 tag/Convert function from Java to Objective-C

后端 未结 4 961
借酒劲吻你
借酒劲吻你 2021-02-06 18:54

I\'ve got the following question to ask:

How do you compile taglib with an iOS application?

I\'m a bit confused as I added the folder into my project, tried to c

4条回答
  •  轮回少年
    2021-02-06 19:03

    - (void)loadArtworksForFileAtPath:(NSString *)path completion:(void (^)(NSArray *))completion
    {
        NSURL *u = [NSURL fileURLWithPath:path];
        AVURLAsset *a = [AVURLAsset URLAssetWithURL:u options:nil];
        NSArray *k = [NSArray arrayWithObjects:@"commonMetadata", nil];
    
        [a loadValuesAsynchronouslyForKeys:k completionHandler: ^{
            NSArray *artworks = [AVMetadataItem metadataItemsFromArray:a.commonMetadata
                 withKey:AVMetadataCommonKeyArtwork keySpace:AVMetadataKeySpaceCommon];
    
             NSMutableArray *artworkImages = [NSMutableArray array];
             for (AVMetadataItem *i in artworks)
             {
                 NSString *keySpace = i.keySpace;
                 UIImage *im = nil;
    
                 if ([keySpace isEqualToString:AVMetadataKeySpaceID3])
                 {
                     NSDictionary *d = [i.value copyWithZone:nil];
                     im = [UIImage imageWithData:[d objectForKey:@"data"]];
                 }
                 else if ([keySpace isEqualToString:AVMetadataKeySpaceiTunes])
                     im = [UIImage imageWithData:[i.value copyWithZone:nil]];
    
                 if (im)
                     [artworkImages addObject:im];
             }
    
             completion(artworkImages);
         }];
    }
    

提交回复
热议问题