В iOS я могу получить доступ к списку песен iTunes?

Я ищу способ программно ( т. Е. Не через интерфейс) получить доступ к музыкальной библиотеке iTunes пользователей из моего приложения iOS.

(Да, я знаю, что Apple отговаривает альтернативные приложения для iPod-интерфейса. Это не вопрос 🙂

Я бы хотел:

  • Соберите список имен песен.
  • Попросите мое приложение сделать их анаграммы.
  • Попросите пользователя угадать оригинальное название песни.
  • Если они догадываются, я играю фрагмент песни.

(Это не мое настоящее приложение, но оно содержит все необходимые мне элементы). Части, о которых я прошу, – это: Как получить список имен песен и, учитывая название песни, как заставить медиа играть в нее ?

Я думаю, что AVAssetReader – это то, что позволит мне играть песню, как только у меня будет свое имя, поэтому я могу посмотреть это самостоятельно (бонусные баллы для указателей там, хотя!) – так что нижний вопрос: как получить список названий песен из пользовательской библиотеки iTunes в iOS?

2 Solutions collect form web for “В iOS я могу получить доступ к списку песен iTunes?”

Вы захотите использовать MPMediaQuery для получения NSArray всех песен. Проверьте эту ссылку.

Чтобы воспроизвести эту песню, я бы предложил использовать AVPlayer.

Проверьте документы , особенно раздел «Получение медиа-элементов программно».

Если средство выбора элементов мультимедиа не предоставляет требуемый элемент управления, вы можете использовать классы доступа к базе данных из этого API. Эти классы предназначены для создания произвольно сложных запросов. Вы могли бы, например, получить все песни в определенном жанре, названия которых содержат определенное слово или фразу.

Использование программного доступа – это двухэтапный процесс:

Настройте запрос. Попросите запрос получить соответствующие элементы мультимедиа. Медиа-запрос – это описание того, что нужно извлечь из библиотеки iPod устройства и как должны быть упорядочены эти извлеченные элементы. Он имеет два свойства для настройки:

Фильтр – это описание того, что нужно извлечь. Фильтр не является обязательным; запрос на фильтрацию соответствует всей библиотеке iPod. Тип группировки является необязательным ключом, который определяет порядок использования для извлеченных коллекций элементов мультимедиа. Масштабирование немного больше, фильтр может быть таким же простым или сложным, как требует ваше приложение. Он состоит из одного или нескольких экземпляров предиката медиа-свойства. Предикат свойства носителя представляет собой логическое условие для проверки каждого элемента мультимедиа. Элементы, которые удовлетворяют фильтру, извлекаются из библиотеки iPod при вызове запроса.

Необязательный тип группировки определяет расположение и сортировку коллекций, а также сортировку элементов мультимедиа в каждой коллекции. Например, использование типа группировки «альбом» приводит к возврату элементов мультимедиа, сгруппированных по альбому, причем песни каждого альбома сортируются в порядке следования.

  • iOS: получение подтверждения через AppStore vc Проверка с помощью собственного сервера
  • iOS: совместное использование файлов без iTunes?
  • Использует ли это приложение флаги рекламного идентификатора
  • Ускорение процесса проверки Apple для приложения iOS для исправлений и исправлений
  • Поиск iTunes Search для всех приложений для разработчиков
  • iTunes Connect App Analytics & Sales and Trends показывает различные значения
  • Как справляться с фоновыми режимами в обзоре apple
  • Приложение iOS отображает неверную дату в Mac iTunes
  • Не удалось найти сервер с указанным именем хоста
  • Обнаружение изменений файла в каталоге документов
  • По требованию, приложение отклонено
  • Interesting Posts

    Храните прослушиватель Firebase в памяти, когда приложение находится в фоновом режиме

    Неопределенные символы для архитектуры armv7 при интеграции речевого вызова нюанса

    Как вернуть полный интерфейс Xcode 4?

    iOS 10 формат часового пояса с датами, созданными как timeIntervalSince1970

    swift 3 – ios: конвертировать anyObject в строку

    нефиксированный repeatInterval в UILocalNotification

    Конфликт класса сборки Xcode 4

    Xcode: скрывать / защищать файлы ресурсов в конечном приложении iOS?

    Отключить виджет быстрых действий iOS 10

    Что происходит с представлениями, добавленными через построитель интерфейсов, когда предупреждение о низком уровне памяти невелико?

    BSD Sockets не работают в среде iPhone 3G

    Каков правильный способ проверки нулевой строки в Objective-C?

    Кордова push и локальный конфликт

    IOS: нарисуйте линию пальцем

    SecurityError из Facebook и межсетевых сообщений

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