Теги ID3 Artwork из MP3 в каталоге документов Разработка iPhone - PullRequest
1 голос
/ 10 августа 2011

У меня есть несколько файлов MP3 в каталоге документов пользователя, и я хочу иметь возможность получать и отображать теги ID3 Artwork. Я пытался использовать NSURLAsset, но я не уверен, как преобразовать это в UIImage или UIImageView!

Спасибо!

1 Ответ

3 голосов
/ 28 декабря 2011

Вы должны использовать AVAsset класс:
Например:

NSString *mp3Path = [[NSBundle mainBundle] pathForResource:@"audio-file" ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:mp3Path];

AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
for (NSString *format in [asset availableMetadataFormats]) {
    for (AVMetadataItem *item in [asset metadataForFormat:format]) {
        if ([[item commonKey] isEqualToString:@"artwork"]) {            
            NSData *data = [(NSDictionary *)[item value] objectForKey:@"data"];
            UIImageView *img = [[[UIImageView alloc] initWithImage:[UIImage imageWithData:data]] autorelease];
            [self.view addSubview:img];
            continue;
        }
        NSLog(@"%@", item);
    }
}
NSLog(@"> Duration = %.2f seconds", CMTimeGetSeconds(asset.duration));
...