В iOS я могу получить доступ к списку песен iTunes? - PullRequest
8 голосов
/ 29 марта 2012

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

(Да, я знаю, что Apple не рекомендует альтернативные приложения для интерфейса iPod. Вопрос не в этом:)

Я бы хотел сделать следующее:

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

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

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

Ответы [ 2 ]

6 голосов
/ 29 марта 2012

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

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

5 голосов
/ 29 марта 2012

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

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

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

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

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

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

...