2011-04-06 104 views
3

我正在開發用於Mac OS X的應用程序,以顯示iTunes正在播放歌曲的歌詞。我做了一些搜索,發現只有使用AppleScript來實現它的方式。是否有Objective-C的API,我可以用它從iTunes獲取有關歌曲的信息?我想知道Bowtie,CoverSutra和Last.fm是如何做到的。如何從iTunes獲取歌曲信息?

+0

您可以從一個可可應用程序中通過OSA(AppleScript的)溝通iTunes Library框架(/Library/Frameworks/iTunesLibrary.framework)。 – 2011-04-06 16:04:21

+0

Objective-C沒有API。你的意思是可可或碳嗎? – 2011-04-06 16:13:45

+0

[使用Cocoa獲取當前播放歌曲]的可能副本(http://stackoverflow.com/questions/1327779/get-current-playing-song-using-cocoa) – idmean 2015-07-02 17:28:27

回答

1

answer to my question

使用腳本橋問的iTunes。 iTunes甚至是the docs使用的示例。

它在開始時可能有點棘手,但是和Cocoa一樣:在完成一次後很容易。

+0

謝謝,我會試試看。實際上,通過objective-c,我的意思是語言,以區別於AppleScript。 – 2011-04-07 06:57:19

1

除AppleScript接口外,我沒有提供Apple提供的API。

但是,恰恰相反,當曲目發生變化時,iTunes會發布分發通知,因此您可以聆聽這些內容並以此方式獲取當前播放的歌曲信息。

Objective-C Mac OS X Distributed notifications iTunes

我從來沒有見過這些通知的任何正式文件,所以我不知道你是否能對他們在未來的工作算,但他們已經像過去的十年裏工作了。

4

在10.9您可以使用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 
} 
相關問題