Получить MPMediaItemArtwork из идентификатора альбома
У меня есть идентификатор альбома (скажем, "-7833645336740617216"). Я смотрю на похожий метод, который может принять это в качестве входных данных и вернуть MPMediaItemArtwork, связанный с этим альбомом.
1 ответ
Один из способов - загрузить альбом с MPMediaPropertyPredicate
и выполнить MPMediaQuery
с предикатом. Тогда получите значение MPMediaItemPropertyArtwork
Свойство от представителя пункта альбома:
- (MPMediaItemArtwork *)albumArtworkForAlbumID:(NSNumber *)albumID
{
MPMediaPropertyPredicate *albumIDPredicate;
albumIDPredicate = [MPMediaPropertyPredicate predicateWithValue:albumID
forProperty:MPMediaItemPropertyAlbumPersistentID];
NSSet *predicateSet = [NSSet setWithObject:albumIDPredicate];
MPMediaQuery *albumQuery;
albumQuery = [[MPMediaQuery alloc] initWithFilterPredicates:predicateSet];
MPMediaItemCollection *album;
album = [albumQuery.collections firstObject];
return [album.representativeItem valueForProperty:MPMediaItemPropertyArtwork];
}