AVFoundation get la image del álbum de la canción

Quiero get la image / portada de la canción del álbum. ¿Es posible? Estoy usando AVPlayer para la transmisión de audio, y necesito get la portada del álbum, si la canción lo contiene. Como en iTunes

SOLUCIÓN:

UIImage *img = nil; NSArray *metadata = _avplayer.currentItem.asset.commonMetadata; for(AVMetadataItem *item in metadata){ if([item.commonKey isEqualToString:@"artwork"]){ NSData *data = item.value[@"data"]; img = [UIImage imageWithData:data]; return img; } } return img; 

Deberías probar esto, pero yo uso MPMusicPlayer:

 musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; currentItem = [musicPlayer nowPlayingItem]; if (currentItem == nil) { //Not playing } else { NSString *name = [currentItem valueForProperty:@"title"]; int length = [name length]; if (length > 30) { name = [name substringWithRange:NSMakeRange(0, 30)]; name = [name stringByAppendingString:@"..."]; } NSString *album = [currentItem valueForProperty:@"albumTitle"]; int lengthAl = [album length]; if (lengthAl > 30) { album = [album substringWithRange:NSMakeRange(0, 30)]; album = [album stringByAppendingString:@"..."]; } NSString *artist = [currentItem valueForProperty:@"artist"]; int lengthAr = [artist length]; if (lengthAr > 30) { artist = [artist substringWithRange:NSMakeRange(0, 30)]; artist = [artist stringByAppendingString:@"..."]; } MPMediaItemArtwork *artworkPrev = [currentItem valueForProperty:@"artwork"]; if (artworkPrev != nil) { UIImage *img = [artworkPrev imageWithSize:CGSizeMake(65, 65)]; UIImageView *imgNew = [[UIImageView alloc] initWithImage:img]; imgNew.frame = CGRectMake(-15,-20, 65, 65); } } 

Como puedes ver, uso un NSMakeRange, lo uso solo para no dejar espacio en mi aplicación. Espero que eso te ayude

Siempre que sus files tengan el formatting correcto, es decir, MP3, puede cargar los datos del file en un analizador de tags ID3. Aquí hay un ejemplo de uno. Está hecho para OS X, pero parece que debería portar a iOS con bastante facilidad.