我正在为Mac OS X开发一个应用程序来显示iTunes正在播放的歌曲的歌词。我做了一些搜索,发现只使用AppleScript实现它的方式。是否有Objective-C的API,我可以用来从iTunes获取有关该歌曲的信息?我想知道Bowtie,CoverSutra和Last.fm是如何做到的。
答案 0 :(得分:4)
在10.9中,您可以对iTunes 11使用iTunes Library Framework(/Library/Frameworks/iTunesLibrary.framework)。
#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 :(得分:1)
答案 2 :(得分:1)
除了AppleScript界面之外,我不知道Apple提供的API。
但是,只要轨道发生变化,iTunes就会发布分布式通知,因此您可以通过这种方式收听并收听当前正在播放的歌曲信息。
请参阅Objective-C Mac OS X Distributed notifications iTunes
我从未见过这些通知的官方文档,因此我不知道您是否可以指望他们将来工作,但他们在过去十年中一直在努力。