Проверьте, есть ли у пользователя в медиатеке песня из iTunes

Я создаю приложение для iPhone для музыкального альбома, выпущенного в iTunes, клиент запросил, чтобы, если пользователь приобрел альбом, приложение должно позволять воспроизводить эти песни в приложении во время игры. Мне нужно найти способ быстро проверить, доступна ли песня в библиотеке iPod. Я слышал, что у каждой песни из iTunes есть уникальный идентификатор, но я понятия не имею, как его использовать. Поиск по названию песни не вариант в библиотеке, как моя, потому что у меня более 20 гигов музыки ...

Спасибо,

Ондрей


person Ondrej Rafaj    schedule 26.07.2010    source источник


Ответы (2)


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

person Woody    schedule 26.07.2010
comment
Я думал, что в db будет какая-то индексация, как и в любой системе базы данных, будет намного быстрее искать идентификатор, чем полное имя трека ... :( ... И клиент не беспокоится о фактический компакт-диск, поскольку они продвигают продажи iTunes ... - person Ondrej Rafaj; 26.07.2010
comment
Это доступ к базе данных во встроенной индексированной базе данных sqlite, охватывающей то, что на самом деле является очень маленьким набором данных менее 10 000 элементов, поэтому я сомневаюсь, что это будет сильно отличаться, и, конечно, не та разница, которую заметил бы пользователь. Я не вижу нигде, где можно искать по идентификатору, просто запрос к MPMediaQuery с одним из «стандартных» атрибутов, трек / альбом / группа / исполнитель и т. Д. - person Woody; 26.07.2010

Вы не можете. Вы можете определить, какие песни в библиотеке были приобретены (приобретены в iTunes), вы, вероятно, сможете определить, какие песни приобретены на Amazon или в других магазинах, вы можете определить, какие песни были сопоставлены с iTunes Match.

Но вы не можете определить, соответствует ли песня в магазине одной из песен в библиотеке. В лучшем случае вы можете попытаться сопоставить исполнителя / название альбома / название песни / длину песни, но это никоим образом не гарантирует, что вы найдете все совпадения.

person gnasher729    schedule 02.12.2014
comment
Есть ли у Apple какой-либо API, который позволит узнать, что сделал пользователь песен / покупок (скажем, я предоставлю имя и пароль для этой учетной записи Apple) или сколько раз он прослушал трек в iTunes? - person SexyBeast; 19.09.2015
comment
Привет @ gnasher729, как определить, какие песни в библиотеке куплены или нет? - person somasekhar; 14.01.2016
comment
@somasekhar вы нашли какое-либо решение для обнаружения песен, которые уже куплены в itunes? - person Parth Mehta; 16.03.2016