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.

  • Плавное циклирование видео в iOS
  • Выключить аудиовоспроизведение AVPlayer?
  • Воспроизведение потока с плохим доступом в Интернет в AVPlayer
  • Доступ к данным AVPlayer при воспроизведении видео из HTTP Live Streaming
  • AVPlayer Custom controles - индикатор загрузки
  • AVPlayer удаляет фоновую музыку
  • Как я могу управлять событием кнопки «Готово» для AVPlayer в iOS 8?
  • Получить имя устройства AirPlay с помощью AVPlayer
  • AVPlayer и AVFoundationErrorDomain Code = -11819
  • Как обнаружить полноэкранный режим с помощью AVPlayerViewController в Swift?
  • В AVFoundation, как синхронизировать запись и воспроизведение
  • Interesting Posts

    Обратное геокодирование в Swift

    «Строит только активную архитектуру» ничего не делает, если у меня нет устройства iOS, подключенного к моему Mac?

    Проверка подлинности iOS

    Структура проекта CocoaPods для модульного тестирования с использованием частных компонентов

    Основные данные: NSPredicate для отношений «многие-ко-многим». (Ключ «to-many» здесь не разрешен »)

    Что такое SKSpinLockSync в наборе спрайтов и как его исправить?

    Проблема с RCC Manager в режиме реагирования

    Назначение для NSString в Swift

    Что такое регулярное выражение для этих случаев?

    Используйте Spotify iOS SDK в Индии

    Как масштабировать UIImage, используя коэффициент ширины и сохранения

    Получить IndexPath CollectionViewCell вне ячейки

    Экспорт символов статической библиотеки при использовании для создания приложений iOS

    NSString boundingRectWithSize возвращает ненужную высокую высоту

    Запустить http-запрос в другой теме на ios

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.