AVFoundation получить альбомное изображение песни

Я хочу получить альбом / обложку песни. Является ли это возможным? Я использую AVPlayer для потоковой передачи аудио, и мне нужно получить обложку альбома, если песня содержит ее. Как в iTunes.

РЕШЕНИЕ:

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; 

2 Solutions collect form web for “AVFoundation получить альбомное изображение песни”

Вы должны попробовать это, но я использую 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); } } 

Как вы можете видеть, я использую NSMakeRange, я использую его только для того, чтобы не оставлять пространство в моем приложении. Я надеюсь, что это поможет вам

Если ваши файлы имеют нужный формат, то есть MP3, вы можете загрузить данные файла в парсер ID3. Вот пример одного. Это сделано для OS X, но похоже, что он должен легко переноситься в iOS.

  • Остановите AVPlayer и снова перезапустите файл mp3
  • Добавление индикатора активности, когда AVplayer готов к воспроизведению музыки
  • AVPlayer Observer никогда не вызывал недопустимый URL-адрес
  • Можно ли воспроизводить видео с помощью Avplayer в фоновом режиме?
  • MPMoviePlayerController устарел, что теперь?
  • Размер буфера AVPlayer
  • iOS: Есть ли способ очистить потоковые данные AvPlayer?
  • AVPlayer пропускает начало видео
  • MPNowPlayingInfoCenter не реагирует должным образом при приостановке воспроизведения
  • AVPlayer и networkActivityIndicatorVisible
  • Отключить звуковые дорожки в прямом эфире с помощью AVPlayer
  • Скрыть элементы управления в AVPlayerViewController - только при запуске
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.