Как получить информацию о песне из iTunes? - PullRequest
3 голосов
/ 06 апреля 2011

Я разрабатываю приложение для Mac OS X, чтобы отобразить текст песни, которую играет iTunes.Я сделал некоторые поиски и нашел только способ, используя AppleScript, чтобы понять это.Есть ли API для Objective-C, который я могу использовать для получения информации о песне из iTunes?Я хочу знать, как это сделали Bowtie, CoverSutra и Last.fm.

Ответы [ 3 ]

4 голосов
/ 31 октября 2013

В 10.9 вы можете использовать iTunes Library Framework (/Library/Frameworks/iTunesLibrary.framework) для iTunes 11.

#import <iTunesLibrary/ITLibrary.h>

NSError *error = nil;
ITLibrary *library = [ITLibrary libraryWithAPIVersion:@"1.0" error:&error];
if (library)
{
        NSArray *playlists = library.allPlaylists; //  <- NSArray of ITLibPlaylist
        NSArray *tracks = library.allMediaItems; //  <- NSArray of ITLibMediaItem
}
1 голос
/ 06 апреля 2011

Я не знаю API от Apple, кроме интерфейса AppleScript.

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

См. Objective-C Mac OS X Распределенные уведомления iTunes

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

1 голос
/ 06 апреля 2011

См. ответ на мой вопрос :

Используйте Мост сценариев, чтобы спросить iTunes. iTunes - даже пример, который использует документы .

Это может быть немного сложно в начале, но, как всегда, с Какао: это легко сделать после того, как вы сделали это один раз.

...